0
PHPのこのスニペットの最終結果である$arrayParams
との違いはわかりません。php配列:違いを見つけてください!
この関数は、文字列$types
と、別のパラメータ$params
を取ります。 $params
自体は、任意の型の単一の値または任意の型の値の配列にすることができます。
このコードの目的は、後でcall_user_func_array()
にバインドすることです。
最後の$arrayParams
変数は、元の$types
文字列としてインデックス0の配列である必要があります。その後、次のインデックスは、$params
として渡される文字列の参照になります。アレイは、すべてのキーを示しているのと同じ値へのポインタである第1の後$params
を通過
$array_params
の
if(is_array($params)) {
// Make a new array, first index is $types string.
$arrayParams = array($types);
// Loop over $params array and add the pointer of each index to $arrayParams.
// ??? This doesn't seem to be working ???
foreach($params as $p) {
$arrayParams[] = &$p;
}
}
else {
// This works fine here, very simple.
$arrayParams = array($types, &$params);
}
var_dump
、(?)
$ pを設定解除する必要があるのはなぜですか? – Greg
@Greg [こちらの警告](http://php.net/manual/en/control-structures.foreach.php)を参照してください。 –
チップの「未設定」のために受け入れられた答え。ありがとう:) – Greg