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 (?)