Array_shift e condizione

  • Creatore Discussione Creatore Discussione kaosz
  • Data di inizio Data di inizio

kaosz

Nuovo Utente
23 Mag 2012
3
0
0
Salve,

mettendo una condizione all'array_shift non stampa l'array correttamente:

PHP:
$pila = array("2", "2", "3", "5");
$num = count($pila);
for($x=1; $x <= $num; $x++){
    if (array_shift($pila) < '5'){
        echo '<strong>'.array_shift($pila).'</strong> ='.$x.'<br>';
    }else{
        echo array_shift($pila).' ='.$x.'<br>';
    }
}

Stampa solo i primi due array, sapete dirmi come mai?
 
Ciao, dal manuale php
array_shift() estrae il primo elemento di array e lo restituisce, accorciando array di un elemento e spostando tutti gli altri all'indietro. Tutte le chiavi numeriche verranno modificate al fine di iniziare il conteggio da zero, mentre gli indici alfabetici non verranno modificati. Se array è vuoto (o non è un array), viene restituito NULL.
Non ho capito bene cosa devi fare, se è solo per verificare se il valore è minore di 5 pui fare cosi
PHP:
foreach ($pila as $value) {
    if ($value < 5) {
        echo "il valore è minore di 5";
    } else {
        echo "il valore è 5 o superiore";
    }
}
 

Discussioni simili