0

ここの誰かが私を助けてくれることを望んでいる、または少なくともそれが起こっている理由を説明してくれることを願っています。

私は __call メソッドを使用しています。

public function __call($method, $params) {
    var_dump($params);
    echo '<br/><br/>';
}

例ごとにこれを呼び出します:

$params = array('index' => 0, 'apikey' => 'aasdf');
$client->notAFunction($params)

これは存在しないメソッドなので、$method = notAFunction と $params の私の配列で __call に入ります。

__call からの期待される出力は次のようになります。

array(2) { ["index"]=> int(0) ["apikey"]=> string(5) "aasdf" } 

ただし、出力として得られるのは次のとおりです。

array(1) { [0]=> array(2) { ["index"]=> int(0) ["apikey"]=> string(5) "aasdf" } } 

現在、これは $params[0] を使用して簡単に「解決」できるという事実を認識しているため、そのような回答は探していません。を探しています;

  1. なぜこれが起こるのですか?
  2. これが常に起こると期待できますか?
  3. __call が元の配列を受け取るようにするためにできることはありますか?
4

1 に答える 1