array_map Applica la funzione callback a tutti gli elementi degli array dati &reftitle.description; arrayarray_map callablecallback arrayarray1 array... array_map restituisce un &array; contenente i risultati dell'applicazione della callback all'indice corrispondente di array1 (e ... se vengono forniti più array) usati come argomenti per la callback. Il numero di parametri che la funzione callback accetta dovrebbe corrispondere al numero di array passati ad array_map. &reftitle.parameters; callback Una callable da eseguire per ogni elemento in ogni array. &null; può essere passato come valore alla callback per eseguire un'operazione zip su più array. Se viene fornito solo array1, array_map restituirà l'array di input. array1 Un array su cui eseguire la funzione callback. ... Lista di variabili supplementari di argomenti di array da eseguire nella funzione callback. &reftitle.returnvalues; Restituisce un array contenente i risultati dell'applicazione della funzione callback all'indice corrispondente di array1 (e ... se vengono forniti più array) usati come argomenti per la callback. L'array restituito conserverà le chiavi del parametro array se e solo se viene passato esattamente un array. Se viene passato più di un array, l'array restituito avrà chiavi intere sequenziali. &reftitle.examples; Esempio di <function>array_map</function> ]]> Questo fa sì che $b abbia: 1 [1] => 8 [2] => 27 [3] => 64 [4] => 125 ) ]]> <function>array_map</function> usando una funzione lambda (a partire da PHP 5.3.0) ]]> 2 [1] => 4 [2] => 6 [3] => 8 [4] => 10 ) ]]> <function>array_map</function> - usando più array $m]; } $a = [1, 2, 3, 4, 5]; $b = ['uno', 'dos', 'tres', 'cuatro', 'cinco']; $c = array_map('show_Spanish', $a, $b); print_r($c); $d = array_map('map_Spanish', $a , $b); print_r($d); ?> ]]> &example.outputs; Il numero 1 è chiamato uno in spagnolo [1] => Il numero 2 è chiamato dos in spagnolo [2] => Il numero 3 è chiamato tres in spagnolo [3] => Il numero 4 è chiamato cuatro in spagnolo [4] => Il numero 5 è chiamato cinco in spagnolo ) // stampa di $d Array ( [0] => Array ( [1] => uno ) [1] => Array ( [2] => dos ) [2] => Array ( [3] => tres ) [3] => Array ( [4] => cuatro ) [4] => Array ( [5] => cinco ) ) ]]> Di solito quando si usano due o più array, questi dovrebbero essere di uguale lunghezza in quanto la funzione di callback viene applicata in parallelo agli elementi corrispondenti. Se gli array sono di lunghezza diversa, quelli più corti verranno estesi con elementi vuoti per uguagliare la lunghezza del più lungo. Un uso interessante di questa funzione è quello di costruire un array di array, cosa che può essere facilmente ottenuta usando &null; come nome della funzione callback Esecuzione di un'operazione zip di array ]]> &example.outputs; Array ( [0] => 1 [1] => one [2] => uno ) [1] => Array ( [0] => 2 [1] => two [2] => dos ) [2] => Array ( [0] => 3 [1] => three [2] => tres ) [3] => Array ( [0] => 4 [1] => four [2] => cuatro ) [4] => Array ( [0] => 5 [1] => five [2] => cinco ) ) ]]> <parameter>callback</parameter> &null; con solo <parameter>array1</parameter> ]]> &example.outputs; int(1) [1]=> int(2) [2]=> int(3) } ]]> <function>array_map</function> - con chiavi stringa 'value']; function cb1($a) { return [$a]; } function cb2($a, $b) { return [$a, $b]; } var_dump(array_map('cb1', $arr)); var_dump(array_map('cb2', $arr, $arr)); var_dump(array_map(null, $arr)); var_dump(array_map(null, $arr, $arr)); ?> ]]> &example.outputs; array(1) { [0]=> string(5) "value" } } array(1) { [0]=> array(2) { [0]=> string(5) "value" [1]=> string(5) "value" } } array(1) { ["stringkey"]=> string(5) "value" } array(1) { [0]=> array(2) { [0]=> string(5) "value" [1]=> string(5) "value" } } ]]> &reftitle.seealso; array_filter array_reduce array_walk