blackboss (Normal User)
Pro
Messaggi: 63
Iscritto: 19/08/2009
|
Salve, Avrei Bisogno di una funzione che cerchi dentro un array una parola che è il valore di una variabile e che mi restituisca un'altra variabile contenente tutta la riga in cui è contenuta la parola; es:
questo è il mio array:
$elenco_nomi [0] = giorgio|rossi;
$elenco_nomi [1] = nicola|laurentis;
$elenco_nomi [2] = filippo|ronconi;
la variabile da cercare è questa
$cerca=nicola;
e il risultato dovrebbe essere questo
$risult=nicola|laurentis;
E vorrei anche che se la parola cercata non esite la variabile $risult assumesse il valore 0
PS:Grazie in anticipo per le risposte. Visto che ho provato cercando su internet e non ci ho capito molto, non rispondetemi con link ad altri siti ma rispondetemi con dei sorgenti magari anche commentati.
Confido in voi Esperti
Ultima modifica effettuata da blackboss il 03/09/2009 alle 16:07 |
|
kejan (Normal User)
Newbie
Messaggi: 20
Iscritto: 12/08/2009
|
prova cosi
Codice sorgente - presumibilmente PHP |
$cerca = array ("giorgio","nicola","filippo"); echo "si c'e giorgio"; }else{ echo "no, non c'e "; }
|
|
|
blackboss (Normal User)
Pro
Messaggi: 63
Iscritto: 19/08/2009
|
Grazie ma non è quello di cui avevo bisogno
|
|
manvb.net (Member)
Guru
Messaggi: 663
Iscritto: 28/01/2008
|
Fai una cosa del genere:
Codice sorgente - presumibilmente Php |
<?php foreach ($mioarray as $element) { //cerco la posizione del testo nella stringa $pos = strpos($element,$cerca); if ($pos === false) { //Non trovato { else { //trovato $risultato = $element; //prendo tutta la riga } }
|
?>
Ultima modifica effettuata da manvb.net il 03/09/2009 alle 23:43 |
|
blackboss (Normal User)
Pro
Messaggi: 63
Iscritto: 19/08/2009
|
Grazie, ma mi dà il seguente errore quando apro la pagina:
Codice sorgente - presumibilmente PHP |
Parse error : syntax error , unexpected T_ELSE in C :\ ...\ array.php on line 13
|
(Io uso easyphp e testo le pagine sul mio pc) mi andrebbe anche bene che mi desse la chiave, visto che si tratta di array con chiavi numeriche.
Ultima modifica effettuata da blackboss il 04/09/2009 alle 2:01 |
|
blackboss (Normal User)
Pro
Messaggi: 63
Iscritto: 19/08/2009
|
Cercando su internet ho trovato "array_search" che farebbe al caso mio, ma ho un problema:
se lo uso in un array definito così:
Codice sorgente - presumibilmente Plain Text |
$colori = array(0 => 'blu', 1 => 'rosso', 2 => 'giallo', 3 => 'verde');
$risultato = array_search('verde', $colori);
|
$risultato è uguale a 3 ed è giusto, ma se come array uso un file aperto come array, es:
Codice sorgente - presumibilmente Plain Text |
$colori=file("colori.txt")
|
e nel file c'è scritto questo:
blu
rosso
giallo
verde
Non funziona più, $risultato diventa false, come se non avesse trovato la parola, che però c'è.
Ho provato tantissime altre varianti ma nessuna funziona |
|
Xaratroom (Ex-Member)
Expert
Messaggi: 526
Iscritto: 03/04/2008
|
Scusa, per il tuo problema basta fare così:
Codice sorgente - presumibilmente Php |
foreach ($elenco_nomi as $key => $value) echo "Occorrenza trovata in posizione $key con valore $value \n";
|
|
|
blackboss (Normal User)
Pro
Messaggi: 63
Iscritto: 19/08/2009
|
Grazie a tutti ma ho risolto con "eregi"
|
|
Xaratroom (Ex-Member)
Expert
Messaggi: 526
Iscritto: 03/04/2008
|
Postato originariamente da blackboss:
Grazie a tutti ma ho risolto con "eregi" |
http://it2.php.net/eregi
Warning
This function has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged.
|
quindi vedi un po' tu |
|