Domanda

<?php

$i = 0;

while(conditionals...) {

if($i == 0)
  print "<p>Show this once</p>";

print "<p>display everytime</p>";
$i++;
}
?>

Questo mostrerebbe " Mostra questo solo una volta " la prima volta e solo quella volta, e mostra "visualizzare ogni volta" fintanto che il ciclo while passa attraverso?

È stato utile?

Soluzione

Sì, davvero.

Puoi anche combinare if e l'incremento, in modo da non dimenticare di incrementare:

if (!$i++) echo "Show once.";

Altri suggerimenti

Invece di incrementarlo ogni volta che il ciclo viene eseguito e sprecare risorse inutili, ciò che puoi fare è, se il valore è 0 per la prima volta, quindi stampare l'istruzione e rendere il valore della variabile come diverso da zero. Proprio come una bandiera. Condizione, non stai modificando il valore della variabile tra il ciclo da qualche parte. Qualcosa del genere:

<?php

   $i = 0;

   while(conditionals...) {

      if($i == 0){
        print "<p>Show this once</p>";
        $i=1;
      }

      print "<p>display everytime</p>";
   }
?>

Sì, purché nulla nel loop riporti $ i a 0

Sì, a meno che le condizioni non siano false dall'inizio o $ i sia stato impostato su 0 all'interno del ciclo

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top