[PHP] ciclo for

  • Creatore Discussione Creatore Discussione zip
  • Data di inizio Data di inizio

zip

Nuovo Utente
17 Nov 2016
3
0
1
46
buongiorno, forse è una domanda stupida ma la condizione del ciclo for deve essere necessariamente matematica?

ho un:

Array=x ( [2] => a [3] => b [5] => c )

for($n=1; $var!=''; $n++){
$var=$x[$n];
}}

volevo eseguire il ciclo fino al valorizzazione di $x ma non funziona. C è un motivo?
 
Ciao, per ciclare un array è più comodo il foreach(), non ho capito bene cos avuoi fare.
 
Con foreach() ciclo tutti gli elementi dell'array invece io volevo terminare il ciclo al primo risultato trovato, $a nel mio caso
 
Anche io non vedo molta utilità in questa cosa, me sicuramente tu si...
Io farei così:

PHP:
for($n = 0; $n < count($x); $n++){
  if ($x[$n] != ""){
    // fai quello che vuoi
  }
  // se invece la condizione non è soddisfatta il ciclo continua
}
 
grazie, forse esiste un modo piu' semplice per ottenere il valore con la chiave numerica piu' bassa di un array non conoscendola?
 
potresti riodinare l'array con ksort() e prendere il primo elemento con current()
PHP:
$x = array(6 => "a", 3 => "b", 5 => "c",);
reset($x);
ksort($x);
echo current($x);
 
potresti riodinare l'array con ksort() e prendere il primo elemento con current()
PHP:
$x = array(6 => "a", 3 => "b", 5 => "c",);
reset($x);
ksort($x);
echo current($x);


Certamente se a lui non interessa mantenere gli indici originali dell'array è più semplice
 
gli indici non vengono resettati, solo riodinati
PHP:
<?php
 $x = array(6 => "a", 3 => "b", 5 => "c",);
reset($x);
ksort($x);
echo current($x). "<br/>";

foreach ($x as $k => $v) {
    echo $k . " => " . $v . "<br/>";
}
 
rileggendo meglio la descrizione della funzione reset()
reset() rewinds array's internal pointer to the first element and returns the value of the first array element.
si potrebbe anche evitare la funzione current()
PHP:
<?php
$x = array(6 => "a", 3 => "b", 5 => "c",);
ksort($x);
echo reset($x) . "<br/>";

foreach ($x as $k => $value) {
    echo $k . " => " . $value . "<br/>";
}
da testare
 
Ultima modifica:
  • Like
Reactions: Rikk73

Discussioni simili