PDA

View Full Version : [PHP] Perfezionamento sintassi strutture condizionali


Ludo237
10-05-2011, 17:53
Ciao a tutti :ciapet:
Ho visto in giro molte volte (tra gli script gnu/gpl) che hanno una sintassi simile a questa

$variabile = !empty($x) ? $x: "";


Mi sono informato girovagando per google ma non ho ancora capito come funziona... qualche saggio php developer mi illumina?
e, ne approfitto, vorrei sapere come modificare un costrutto del tipo

if(isset($_POST['input'])&&!empty($_POST['input']))echo $_POST['input'];

in quello sopracitato
:help:

!fazz
10-05-2011, 18:02
? è un operatore ternario analogo ad if

condizione ? blocco codice condizione true : blocco codice istruzione false

l'equivalente di $variabile = !empty($x) ? $x: ""; è

if (!empty($x))
{
$variabile=$x;
}
else
{
$variabile="";
}

che è equivalente a

if (empty($x)==false)
{
$variabile=$x;
}
else
{
$variabile="";
}

Ludo237
10-05-2011, 18:06
:ave: :ave: :ave: :ave: :ave: :ave: :ave: Grazie ora provo a metterlo in pratica.

Anzi prima vorrei sapere se è conveniente utilizzarlo rispetto al classico if

Palla_95
10-05-2011, 18:08
scusate ho lasciato la pagina aperta

$var = condizione : "codice se condizione vera" ? "altrimenti fai questo";

basta che fai così

$var = if(isset($_POST['input'])&&!empty($_POST['input']) ? "vero" : "falso";
echo $var;


è come dire

if(isset($_POST['input'])&&!empty($_POST['input'])
echo "vero";
else
echo "falso";

MarcioPG
10-05-2011, 18:12
..vorrei sapere come modificare un costrutto del tipo

if(isset($_POST['input'])&&!empty($_POST['input']))echo $_POST['input'];

in quello sopracitato
:help:

echo (isset($_POST['input'])&&!empty($_POST['input'])):$_POST['input']?'';