Page 1 sur 1

Petite question de syntaxe

Posté : 28 août 2007, 14:48
par Nico128
Hello les gens ! J'ai une question simple, mais j'ai pas pu faire de recherche sur google, je sais pas comment s'apelle cette façon de retourner une valeur.

Enfaite j'avais vu une fois quelque chose du genre :
$Variable = (1+1==2) ? "1 + 1 vaux bien 2" : "1 + 1 ne vaut pas 2";
Enfin vous voyez sûrement de quoi je parle. Comment s'apelle cette façon déjà ? Et ma question c'est, est-ce qu'on peut ne pas retourner de résultat si la condition est fausse ? Par exemple :
$Variable = (1+1==2) ? "1 + 1 vaux bien 2" ;
Sauf que là ya une erreur de syntaxe. J'ai tenté plusieurs possibilité mais je trouve pas bonne ^^

Merci d'avance ! :D

Posté : 28 août 2007, 14:53
par Ryle
C'est un opérateur ternaire :)

Quant à ton histoire de retournement j'ai rien compris, donc je dirais suffit de remplace le == par un != pour avoir la condition inverse, mais c'est probablement pas ça :)
En attendant ta syntaxe est fausse, il faut nécessairement un ':' et la valeur à utiliser si le test est fausse (sinon un simple if() fonctionnera très bien)

Edit : bon si en fait j'ai compris pour le retour (suffisait de bien lire :)) et la réponse est non, il faut nécessaire un si oui / si non. Mais si tu n'as pas de else un simple if() est tout aussi facile à écrire :)

Posté : 28 août 2007, 15:00
par Nico128
Ha oui, l'opérateur ternaire, merci ^^

Et sinon pour mon autre question je reprend un exemple :
$nom     = (!empty($_POST["nom"]))         ? $_POST["nom"]     : ""; 
Si il n'y a rien dans le champs "nom" alors on met "" (donc rien) mais ma question, est-ce qu'on peut ne pas mettre ce : ""

Avec une condition if on n'est pas obligé de mettre un else, alors que là il semblerait qu'on soit obligé ?

Posté : 28 août 2007, 15:04
par Ryle
Bah vi, voir l'edit que je me suis empressé de rajouter dans le post précédent, mais l'opérateur ternaire implique nécessairement un else :)

Posté : 28 août 2007, 15:23
par Nico128
Ok merci, je sais que c'était qu'un petit details mais je voulais savoir ^^