PHP  
downloads | documentation | faq | getting help | | php.net sites | links 
search for in the  
previousOperatori di stringaelsenext
Last updated: Wed, 10 Jul 2002
view this page in Printer friendly version | English | Brazilian Portuguese | Czech | Dutch | Finnish | French | German | Hungarian | Japanese | Korean | Polish | Romanian | Russian | Spanish | Turkish

Capitolo 11. Strutture di controllo

Qualsiasi script PHP � costituito da una serie di istruzioni. Una istruzione pu� essere un'assegnazione, una chiamata di funzione, un loop, una istruzione condizionale che non fa nulla (istruzione vuota). Le istruzioni terminano con un punto e virgola. Inoltre, le istruzioni si possono raggruppare in blocchi di istruzioni racchiudendole tra parentesi graffa. Un gruppo di istruzioni �, a sua volta, un'istruzione. Il presente capitolo descrive i differenti tipi di istruzioni.

if

Il costrutto if � una delle pi� importanti caratteristiche di qualsiasi linguaggio, incluso PHP. Permette l'esecuzione condizionata di frammenti di codice. La struttura di controllo if di PHP � simile a quella del linguaggio C:

if (espressione)
    istruzione

Come descritto nella sezione sulle espressioni, espressione restiruir� il suo valore booleano. Se espressione vale TRUE, PHP eseguir� istruzione, e se essa vale FALSE - la ignorer�. Pi� informazioni riguardo i valori valutati FALSE possono essere trovati nella sezione 'Conversione in booleano' .

L'esempio che segue visualizzer� a � maggiore di b se $a sar� maggiore di $b:

if ($a > $b)
    print "a � maggiore di b";

Spesso sar� necessario eseguire pi� di una istruzione condizionale. Naturalmente non � necessario, utilizzare una singola clausola if per ciascuna istruzione. Si possono raggruppare diverse istruzioni in un singolo gruppo di istruzioni. Per esempio, il codice che segue visualizzer� a � maggiore di b se $a � maggiore di $b, e successivamente assegner� il valore della variabile $a alla variabile $b:

if ($a > $b) {
    print "a � maggiore di b";
    $b = $a;
}

Si possono annidare indefinitamente istruzioni if, la qual cosa fornisce piena flessibilit� per l'esecuzione di istruzioni condizionali in diversi punti del programma.

User Contributed Notes
Strutture di controllo
add a note about notes

08-Nov-2000 04:14

function lex1()
{
print "Hello";
return 1;
}
function lex2()
{
print "World";
return 1;
}
if (lex1() || lex2()) {}

it only print "Hello", so lex2() never been executed.

So, u can also write :

if (
    @function1() &&
    @function2() &&
    @function3() &&
    @function4() &&
    @function5()) {}

It will do all functions from 1 to 5 but terminated immediately if one of
the function is failed.

LexZEUS

14-Feb-2002 02:20
for beginners like me!
don't forget that if you want a=b, it has to be a==b
for example 

<?
$a=2;
$b=2;
if ($a== $b)
echo "that's right!";
?>

and read the manual!


26-Mar-2002 09:15

You can also use this syntax:
(it worked out for me)

if (conditional):
//sentences
elseif(conditional2):
//sentences
else:
//more sentences
endif;


11-Apr-2002 08:14

You can also use this if/else condition structure
to control an index navigation page statement
and extract partial rows from an array.

// Init to control pointer into the array

$setlimit = 10; // rows limit
$pointer = 0; // this is the start pointer value
$next = $pointer + $setlimit; // increment the pointer
$prev= $next - $setlimit; // decrement the pointer
$total_rows = mysql_num_rows($myrows); // total rows

// You're at the beginning
if (($pointer == 0) && ($total_rows > $setlimit)):

echo"$next >>";

// You're in the middle
elseif ($next < $total_rows):

echo"<< $prev";
echo"$pointer";
echo"$next >>";

// You're in a selection with only one row
elseif (($next == $total_rows) && ($next > $total_rows)):

// You're at the end
else:

echo"<< $prev";

endif;

add a note about notes
previousOperatori di stringaelsenext
Last updated: Wed, 10 Jul 2002
show source | credits | stats | mirror sites:  
Copyright © 2001, 2002 The PHP Group
All rights reserved.
This mirror generously provided by:
Last updated: Fri Jul 12 08:19:06 2002 CEST