- Home
- Categorie
- Coding e Sistemistica
- Coding
- ciclo sulle occorrenze Array (fino a che esistono)
-
ciclo sulle occorrenze Array (fino a che esistono)
Salve!
Allora ho un nuovo problema da sottoporre:
Ho un array di x valori, qui un esempio:
array(nome1 => Bisonte, nome2, => Leopardo, nome3 => Zebra, nome4 => Moscerino, continente => Africa, tipologia => animali );
Per quanto riguarda i valori "nomex", dove x sta per un numero, non sono fissi: nell'esempio sopracitato l'array arriva ad un massimo di 4 occorrenze di nome.
Ma può comunque succedere che possa arrivare anche a val100 insomma!Quello che mi serve è una funzione che faccia un ciclo sull'array, prenda tutti quei valori che iniziano per "nome" PIU' il numero.
Mi raccomando una cosa: non so e non saprò quanti saranno in totale i nomi, quindi ho bisogno di una sorta di foreach sull'occorrenza "nome"+numero.
Spero di essermi spiegato, che fatica
-
Non puoi eventualmente passare come parametro gia il limite massimo?
-
Io farei una cosa del genere:
- con array_keys ottengo un vettore di tutte le chiavi
- filtro l'array per ottenere solo quelli che corrispondono al pattern desiderato
- con il foreach li passo uno ad uno
Se mi viene in mente qualcosa di più efficiente te lo scrivo...
edit: ci sarebbe stato l'array_map, ma faresti gli stessi passaggi.
Ti ho scritto questa funzione, ma non l'ho testata.
Dovrebbe prendere in ingresso un'espressione regolare da verificare sulle chiavi del vettore e l'array originale e restituire un vettore delle sole coppie chiave/valore "buone".function filtra($pattern,$array) { $keys=preg_grep($pattern,array_keys($array)); $arr=array(); foreach ($keys as $key) $arr[$key]=$array[$key]; return $arr; }