Ho un array con 30 elementi vorrei dividerlo in due array uno con gli elementi superiori a 25 e uno con gli elementi inferiori a 25 esiste una funzione in php che fa una cosa del genere?
Grazie per l'aiuto
Ho un array con 30 elementi vorrei dividerlo in due array uno con gli elementi superiori a 25 e uno con gli elementi inferiori a 25 esiste una funzione in php che fa una cosa del genere?
Grazie per l'aiuto
Esiste la funzione array_filter()
http://it2.php.net/manual/en/function.array-filter.php
altrimenti cicli l'array e con un semplice if accodi a uno o all'altro.
Ho provato a fare una cosa del genere per dare piu ordine al codice ed evitare una funzione esterna ma non funziona qualcuno puo dirmi se c'e' un modo per farla funzionare cosi
oppure devo mettere per forza la funzione esternaCodice PHP:
$array = array(6, 7, 8, 9, 10, 11, 12,13,14,15,16);
print_r(array_filter($array,create_function($array,'return $array[0] < 10;')));
questa funziona ma vorrei sapere se e' possibile far funzinare la prima molto piu compattaCodice PHP:
function f( $item ){
return $item < 10;
}
$array = array(6, 7, 8, 9, 10, 11, 12,13,14,15,16);
print_r(array_filter($array,"f"));
La funzione con create_functionCodice PHP:
$array = array(6, 7, 8, 9, 10, 11, 12,13,14,15,16); print_r(array_filter($array,create_function($array,'return $array[0] < 10;')));
Prova cosìCodice PHP:
$array = array(6, 7, 8, 9, 10, 11, 12,13,14,15,16);
print_r(array_filter('$array',create_function($array,'return $array < 10;')));
non funziona mi da errore![]()
cosi non da errore ma mi ritorna tutto l'arrayCodice PHP:
print_r(array_filter($array,create_function($r,'return $r < 10;')));
Codice PHP:
Array ( [0] => 6 [1] => 7 [2] => 8 [3] => 9 [4] => 10 [5] => 11 [6] => 12 [7] => 13 [8] => 14 [9] => 15 [10] => 16 )
scusami avevo sbagliato a mettere gli apici, il caldo
prova così
Codice PHP:
print_r(array_filter($array,create_function('$r','return $r < 10;')));
grazie molte a tutti ora funziona perfettamente, per chi dovesse usarla vi avverto che leggendo in giro ho visto che create_function se usata in maniera massiccia e' molto avida di risorse
Ma non faresti prima semplicemente così?
Codice PHP:
$maggiori = array();
$minori = array();
$array = array(3,1,30,25,2,4,7,9,50);
foreach($array as $elem)
$elem > 25 ? $maggiori[] = $elem : $minori[] = $elem;