Ho avuto questa serie multipla di nome $files[]
, che consiste di chiavi e valori come di seguito:è possibile se la richiamata nel parametro array_filter riceve?
[0] => Array
(
[name] => index1.php
[path] => http://localhost/php/gettingstarted/
[number] => 1
)
[1] => Array
(
[name] => index10.php
[path] => http://localhost/php/gettingstarted/
[number] => 2
)
[2] => Array
(
[name] => index11.php
[path] => http://localhost/php/gettingstarted/
[number] => 3
)
io uso questo codice per creare un nuovo array composto da chiavi di 'nome' solo. Ma non è riuscito
array_filter($files, "is_inarr_key('name')");
function is_inarr_key($array, $key)
{
//TODO : remove every array except those who got the same $key
}
ed ottengo questo errore:
array_filter() [function.array-filter]: The second argument, 'is_inarr_key('name')', should be a valid callback in C:\xampp\htdocs\php\gettingstarted\index.php on line 15
Quindi le mie domande sono:
- E 'possibile effettuare la funzione di richiamata su
array_filter
ricevere parametro? - Qual è la regola generale su come utilizzare la funzione di callback in una funzione integrata di PHP?
non ho provarlo. ma questa soluzione è brilyan. se converto il mio codice a lavorare con chiusura o classe, potrò lavorare con più chiavi E creare SOLO una sola cosa divertente: is_inarr_key() – justjoe
+1, ma se fosse la mia risposta elencherei prima la soluzione basata sulla chiusura e raccomanderei sopra le alternative. È di gran lunga la più semplice e la più breve delle possibilità. –