Oppure

Loading
03/09/09 14:06
blackboss
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 03/09/09 14:07
aaa
03/09/09 16:31
kejan
prova cosi
$cerca = array ("giorgio","nicola","filippo"); 
if(in_array("giorgio",$cerca)) {
echo "si c'e giorgio";
}else{
echo "no, non c'e ";
}
aaa
03/09/09 19:12
blackboss
Grazie ma non è quello di cui avevo bisogno
aaa
03/09/09 21:43
manvb.net
Fai una cosa del genere:
<?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 03/09/09 21:43
aaa
03/09/09 23:44
blackboss
Grazie, ma mi dà il seguente errore quando apro la pagina:
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 04/09/09 0:01
aaa
04/09/09 0:00
blackboss
Cercando su internet ho trovato "array_search" che farebbe al caso mio, ma ho un problema:
se lo uso in un array definito così:
$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:
$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:(:(
aaa
04/09/09 22:15
Xaratroom
Scusa, per il tuo problema basta fare così:
foreach ($elenco_nomi as $key => $value)
	if (stristr($value, $nome))
		echo "Occorrenza trovata in posizione $key con valore $value \n";

Se non ho capito male puoi risolvere usando stristr
us2.php.net/manual/en/…

Naturalmente, il pezzo di codice, devi modificarlo opportunamente (a seconda delle tue esigenze)
aaa
05/09/09 11:18
blackboss
Grazie a tutti ma ho risolto con "eregi"
aaa