Controllo valori in array [Risolto]

di il
6 risposte

Controllo valori in array [Risolto]

Salve dovrei fare il controllo di un array e vedere se al suo interno ci sono valori interi e in un altro vedere se sono stringhe.
Ho provato a usareis_int() inserendo il nome del array Ma non mi rende nulla perchè? non mi rende nemmeno se messo in un if.

6 Risposte

  • Re: Controllo valori in array [Risolto]

    selv ha scritto:


    Salve dovrei fare il controllo di un array e vedere se al suo interno ci sono valori interi e in un altro vedere se sono stringhe.
    Ho provato a usareis_int() inserendo il nome del array Ma non mi rende nulla perchè? non mi rende nemmeno se messo in un if.
    La funzione is_int() ti controlla se una variabile è intera: se passi un array di interi, non è ovviamente la stessa cosa, poiché nel primo caso hai un valore singolo, nel secondo un insieme di più valori.

    Devi fare un ciclo sui valori. Ad esempio, dal Web o preso e riadattato questo, per rendere l'idea:
    
    $allNumbers = true;
    foreach ($array as $item) {
        if (!is_int($item)) {
            $allNumbers = false;
            break;
        }
    }
    
    Ciao!
  • Re: Controllo valori in array [Risolto]

    Alka ha scritto:


    selv ha scritto:


    Salve dovrei fare il controllo di un array e vedere se al suo interno ci sono valori interi e in un altro vedere se sono stringhe.
    Ho provato a usareis_int() inserendo il nome del array Ma non mi rende nulla perchè? non mi rende nemmeno se messo in un if.
    La funzione is_int() ti controlla se una variabile è intera: se passi un array di interi, non è ovviamente la stessa cosa, poiché nel primo caso hai un valore singolo, nel secondo un insieme di più valori.

    Devi fare un ciclo sui valori. Ad esempio, dal Web o preso e riadattato questo, per rendere l'idea:
    
    $allNumbers = true;
    foreach ($array as $item) {
        if (!is_int($item)) {
            $allNumbers = false;
            break;
        }
    }
    
    Ciao!
    Ok ma creando questo ciclo mi entra nel if anche se i valori inseriti nell'array sono interi
     
     $allNumbers=true;
     
     foreach ($fine as $item) 
     {
        if (!is_int($item)) 
        {
         $allNumbers=false;
         echo "ERRORE";
         echo $allNumber;
          break;
        }
       
     }
    facendo una prova così mi stampa lo stesso la scritta ERRORE e mi da
    Warning: Undefined variable $allNumber
    anche se allNumber è stato creato in precedenza fuori dal ciclo.
    Perchè?
  • Re: Controllo valori in array [Risolto]

    selv ha scritto:


    Ok ma creando questo ciclo mi entra nel if anche se i valori inseriti nell'array sono interi [...]
    Parliamo di interi effettivi, o di stringhe che contengono un numero intero.
    E' una cosa diversa.

    selv ha scritto:


    facendo una prova così mi stampa lo stesso la scritta ERRORE e mi da
    Warning: Undefined variable $allNumber
    anche se allNumber è stato creato in precedenza fuori dal ciclo.
    Perchè?
    C'è differenza tra $allNumber e $allNumbers.

    Al netto delle disattenzioni, qui mi sa che prima di correre dobbiamo imparare a camminare.
  • Re: Controllo valori in array [Risolto]

    Alka ha scritto:


    Parliamo di interi effettivi, o di stringhe che contengono un numero intero.
    E' una cosa diversa.
    L'array è stato creato così
    $fine=array("1","2","3","4")

    Alka ha scritto:


    C'è differenza tra $allNumber e $allNumbers.

    Al netto delle disattenzioni, qui mi sa che prima di correre dobbiamo imparare a camminare.
    Hai ragione errore di disattenzione su questo.
  • Re: Controllo valori in array [Risolto]

    selv ha scritto:


    L'array è stato creato così
    $fine=array("1","2","3","4")
    E allora sono evidentemente stringhe.

    Questo è un array di interi:
    
    $fine = array(1, 2, 3, 4)
    
  • Re: Controllo valori in array [Risolto]

    Alka ha scritto:


    selv ha scritto:


    L'array è stato creato così
    $fine=array("1","2","3","4")
    E allora sono evidentemente stringhe.

    Questo è un array di interi:
    
    $fine = array(1, 2, 3, 4)
    
    Grazie mille chiudo qui!
Devi accedere o registrarti per scrivere nel forum
6 risposte