- Home
- Categorie
- Coding e Sistemistica
- PHP
- associare lettere di una stringa a elementi array
-
associare lettere di una stringa a elementi array
Salve a tutti!
Ho una stringa di questo tipo ' 221 ',
E un array contenente dei nomi :[NOMI] => Array ( [0] => Array ( [nick] => BLA ) [1] => Array ( [nick] => bli ) [2] => Array ( [nick] => blo )
Io dovrei cercare di associare il primo numero della stringa con il primo elemento dell'array,il secondo con il secondo etc etc...
Nessuno mi potrbbe indicare la via o darmi uno spunto?:)
-
scusa ma non è chiaro... le chiavi dell'array solitamente se non espresse diversamente sono i numeri che parte da [0] e quindi associ il numero alla chiava oppure puoi associare al valore... se 221 devi avere la chiave array 221 al limite se la dividi 2 2 1 esce due volte blo e una BLA
fai un esempio più charo di quello che hai bisogno al limite ti verrà postata una soluzione totalmente diversa ma che risolve il problema
-
intanto grazie per la risposta
Praticamente 2211021 è una stringa che prendo da un server e i nomi,che arrivano anche essi dal server sono nello stesso ordine della stringa,cioè guardando il primo esmpio che ho fatto bla = 2 , bli =2 , blo =1 .
Il mio obiettivo è spostare in una tabella i nomi che sono marcati '1' in un altra quelli marcati '2' e in un altra ancora quelli '0'.
-
Ti ho scritto questo script in due minuti, non l'ho provato ma dal codice dovrebbe andare.
E' per una board?
E' un ottimo esercizio per gli array, questo[php]<?php
$spl = str_split($str);
$gruppi = array();
foreach($nomi as $chiave=>$valore)
{
$gruppo = $spl[$chiave];if(!array_key_exists($gruppo,$gruppi))
$gruppi[$gruppo] = array();array_push($gruppi[$gruppo],$valore['nick']);
}
print_r($gruppi);
?>[/php]
Consideriamo $str la stringa contenente i vari indici e $nomi l'array multidimensionale dei nomi, che contiene sotto-array con un indice "nick".
Innanzitutto trasformiamo $str in un array, i cui elementi sono i vari caratteri che compongono la stringa.
Allochiamo una nuova variabile array, $gruppi, destinata a contenere i dati da dividere poi in tabelle.
Effettuiamo una iterazione sull'array dei nomi.
Nel ciclo $gruppo vale il carattere della stringa $str (trasformata in array) corrispondente all'indice corrente dell'array iterato.
Ora scriviamo nell'array $gruppi; se questo non ha già un indice corrispondente a $gruppo lo creiamo come sotto-array.
Infine aggiungiamo nel sotto-array con indice corrispondente a $gruppo il nick corrente.Spero di essere stato chiaro.
Ciao!
Matteo Micanti.