2010-06-10 5 views
0

Possible en double:
What is the PHP ? : operator called and what does it do?Expliquer ce raccourci PHP

Je nourris comme une gaffe, mais je ne comprends pas tout à fait ce qui se passe dans ce code:

$var .= ($one || $two) ? function_one($one, $another) : function_two($two, $another); 

Est-ce que cela dit si $ un ou $ deux alors $ var est égal à fuction_one(), sinon function_two()? Quel est le but de l'utilisation de cette syntaxe - vitesse?

+3

bon vieux ternaire: http://stackoverflow.com/questions/1080247/what-is-the-php-operator-called-and-what-does- it-do –

+1

Ceci est fermé, mais en ce qui concerne ce qu'il est utilisé - la vitesse et le code plus propre comme le montre cet exemple: http://en.wikipedia.org/wiki/Conditional_operator#Usage –

+0

Merci à tous pour la réponse accablante! – buley

Répondre

4

Si l'$one est vrai, ou $two est vrai , puis le résultat de l'appel function_one est ajouté à $var. Sinon, le résultat de l'appel function_two est ajouté à $var.

Il est essentiellement un raccourci pour:

if ($one || $two) { 
    $var .= function_one($one, $another); 
} else { 
    $var .= function_two($two, $another); 
} 
1

function_one() et function_two() les deux retournent une valeur.

Vous concaténez $var à la valeur de retour d'une de ces fonctions à partir d'une instruction if qui $one ou $two Si $one ou $tow peut lui assigner ou le retour vrai que le retour de function_one() est concaténée sinon la valeur retournée par function_tow() est- .

3

$var serait ajouter à lui-même la valeur du retour de function_one() si $one ou $two est évaluée à vrai, et ajouter encore le résultat de function_two() autrement.

1

$ var. = ($ Un || $ deux)? function_one ($ un, $ autre): function_two ($ two, $ another);

append $ var avec sortie de function_one() ou function_two()

si un $ est vrai, alors exécuter function_one() exécuter d'autre function_two()

Questions connexes