Ben fark PHP'nin bu snippet'inizde $arrayParams
nihai sonucu arasında ne olduğunu çözemiyorum.
Işlevi dize $types
alır ve denilen başka bir parametre $params
. $params
kendisi herhangi bir türde bir tek değer, ya da herhangi bir tür değerler bir dizi olabilir.
Bu kodun amacı kodu daha sonra call_user_func_array()
bağlanması içindir.
Nihai $arrayParams
değişken orijinal $types
dizge olarak, ve sonra aşağıdaki endeksler {[olarak geçirilen dize (ler) başvuruları için vardır endeksi 0 ile bir dizi olması gerekir (2)]}.
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
$array_params
arasında bir dizi aynı değeri bir gösterici olması için ilk sonra tüm tuşları gösterir gibi $params
geçerken (?)