PHP の関数またはメソッドが、呼び出し元が配列の戻り値を期待しているかどうかを判断することは可能ですか (ala Perl のwantarray
演算子)? __get()
具体的には、呼び出し元が配列を期待している場合は自動的に配列を返し、そうでない場合は適切なスカラー値を返す魔法のメソッドを作成したいと考えています。だから、このようなもの:
public function __get($name)
{
if (wantarray())
{
// data is stored internally as an array of arrays
// return appropriate array as-is
return $this->data[$name];
}
else
{
// caller doesn't expect an array, return imploded string instead
return implode(', ', $this->data[$name]);
}
}
基本的に、PHP には Perl の演算子に相当するものがwantarray
ありますか、それともこの種の呼び出しコンテキストの決定を可能にしますか?