Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    1

    Il controllo con if non funziona :(

    Salve a tutti, sto avendo un piccolo problema con un semplice controllo in un if, questo:

    for($i=1;$i<count($arr)+1;$i++)
    {
    if($arr[$i] == $x)
    {
    echo "C' è";
    }
    else echo "Non c'è...";
    }

    Devo controllare che la variabile $x contenente una stringa sia presente nell' array.
    Il problema è l' if, premetto che entrambe le variabili sono uguali e dello stesso tipo, però non ne vuole sapere di entrare.
    Ad es:
    $x="abc";
    $arr[1]="abc";
    mi dice che non c' è.

    Come mai ?

  2. #2
    Utente di HTML.it L'avatar di mrseo88
    Registrato dal
    Jan 2012
    residenza
    Italia
    Messaggi
    75
    Codice PHP:

    $x
    ="abc"

    $arr=array('abb','abc');  

    for(
    $i=1;$i<count($arr)+1;$i++) {     

        if(
    $arr[$i] == $x)     
       {
         echo 
    "C' è";         
         exit; 

         }  
         
         else echo 
    "Non c'è..." ;exit;

     } 

  3. #3
    Un'altro errore è legato al fatto che gli array iniziano da 0, mentre te hai fatto partire $i da 1, inoltre quel count($arr)+1 ti manda sicuramente fuori dalla lunghezza dell'array.
    Materiale Programmazione - code-power.blogspot.com

  4. #4
    Originariamente inviato da serioja90
    Un'altro errore è legato al fatto che gli array iniziano da 0, mentre te hai fatto partire $i da 1, inoltre quel count($arr)+1 ti manda sicuramente fuori dalla lunghezza dell'array.
    ha fatto $n<count($arr)+1, non ha usato <=

    comunque manca una graffa alla fine, ma forse solo qui nel forum
    Ciao!

  5. #5
    Si, ma la funzione count restituisce la lunghezza dell'array, che nel suo caso vale 2, per cui non serve il +1.
    Materiale Programmazione - code-power.blogspot.com

  6. #6
    Originariamente inviato da serioja90
    Si, ma la funzione count restituisce la lunghezza dell'array, che nel suo caso vale 2, per cui non serve il +1.
    si, diciamo che la funzione è scritta maluccio...

    ma se l'array parte da 1, e noi non lo sappiamo, non mettere il +1 gli fa perdere l'ultimo valore dell'array.
    Ciao!

  7. #7
    Si, messa così avrebbe senso, ed è anche colpa mia, perché non mi sono spiegato bene.

    Ciao
    Materiale Programmazione - code-power.blogspot.com

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.