Ricerca su una stringa numerico

  • Creatore Discussione Creatore Discussione ertos
  • Data di inizio Data di inizio

ertos

Nuovo Utente
12 Ott 2011
5
0
0
Ciao ragazzi non sono molto esperto in php, vorrei un aiutino.

Ho una stringa che recupera dei dati da un database con questo risultato

$stringa ="1,2,5,8,12,15"

Volevo invece sapere come posso fare una ricerca all'interno della stringa $stringa

Per esempio vorrei sapere se il numero 5 è contenuto nlla stringa
$ricerca = strstr ($stringa, '5');

Ma mi da errore, perche il 5 appare sia come numero 5 che come 15
se stampo $ricerca con un echo non mi appare nulla.

Grazie
 
prova con:
PHP:
if (in_array(5, $stringa, true)) {
    echo "'Valore trovato\n";
}
 
Risposta

Grazie ho provato ma mi da un errore in questa riga:
if (in_array(5, $stringa, true)) {

Warning: in_array() [function.in-array]: Wrong datatype for second argument in /web/htdocs/www.nomesito/prova.php on line 4

<?php
$stringa ="1,2,5,8,12,15";

if (in_array(5, $stringa, true)) {
echo "'Valore trovato\n";
}
?>
 
ciao
tiratina (forse) d'orecchi a eliox
$stringa è una stringa non un array, non dovrebbe prima fare

$stringa=explode(",", $stringa);
e poi applicara in_array?
 
Risposta

Il codice di elio finziona
pero il mio problema è un altro

$numero=6;
$lista="1,2,3,6,56,66,";

$numero è il numero che devo cercare all'interno della strina, mentre $lista è una variabile che recupera i dati dal database ( $lista = $row['lista'];)

Scrivo il codice cosi

$miaarray = array('$lista');
if (in_array("$numero", $miaarray))
{
echo "elemento trovato!";
}else{
echo "elemento NON trovato!";
}

Nonostante il n. 6 è dentro la variabile $lista il mio risultato è sempre elemnto NON trovato.

Grazie
 
ciao
intanto togli quegli apici.
poi prova le due versioni (se metti un var dump ti rendi conto di cosa diventa $miaarray nei due casi e perche nel primo non trova e nel secondo sì)
PHP:
<?php
$numero=6;
$lista="1,2,3,6,56,66,"; 
$miaarray = array($lista);
var_dump($miaarray);echo "<br>";
if (in_array($numero, $miaarray))
{
  echo "elemento trovato!";
}else{
  echo "elemento NON trovato!";
}
?>

PHP:
<?php
$numero=6;
$lista="1,2,3,6,56,66,"; 
$miaarray=explode(",",$lista);
var_dump($miaarray);echo "<br>";
if (in_array($numero, $miaarray))
{
  echo "elemento trovato!";
}else{
  echo "elemento NON trovato!";
}
?>
 

Discussioni simili