Мне любопытно узнать, что синтаксис «:» означает в php, я видел это пару раз, но я не могу объяснить это самому себе. Можете ли вы также использовать его в предложении …. или я имею в виду пример кода?
**редактировать:
извините, ребята, я имел в виду троичного оператора. Спасибо за другие записи. Я не знал, как это назвать сначала, извинения.
Возможно, вы имеете в виду тернарный оператор , который использует? и: следующим образом:
$variable = boolean_expression ? "true_value" : "false_value";
Этот код является сокращением для if-else:
if (boolean_expression) { $variable = "true_value"; } else { $variable = "false_value"; }
Это тройной оператор :
echo ($a == 1 ? "A is 1" : "A is not 1");
Как насчет сокращенного синтаксиса для блоков в PHP, встроенных в HTML? Например
<body> <h1>Some Header</h1> <?php if($somevariable == '4') : ?> <h2>Some other thing</h2> <p>Some text</p> <?php else: ?> <h3>Else!</h3> <?php endif; ?> </body>
Вероятно, он не обязательно считается оператором. Здесь больше разделителя.
Он также может ссылаться на goto
MyGoto: if (DoSomething()) goto MyGoto;
Очень немногие обстоятельства гарантируют goto, но это то, что это может означать, если не тернарный оператор.
Оператор ?:
– тернарный оператор, называемый условным оператором .
Это условно, потому что выражения expr2 и expr3 в expr1 ? expr2 : expr3
expr1 ? expr2 : expr3
оцениваются на основе оцененного возвращаемого значения expr1 :
?:
; ?:
– возвращаемое значение expr3 . Вот пример:
echo 1 == 1 ? "true" : "false";
Если 1 == 1
оценивает значение true , "true"
будет эхом, иначе "false"
.
Заметим, что оператор ?:
– просто а, а не тернарный оператор. Слово trernary просто означает, что существует три операнда ( op1 ? op2 : op3
), так же как двоичный оператор имеет два операнда (например, op1 + op2
, op1 / op2
, op1 % op2
и т. Д.), А унарные операторы имеют только один операнд ( например, !op
, -op
, ~op
и т. д.).
Вы говорите об условном операторе?
$a = $gork === 1 ? $foo : $bar;
$a = $gork === 1 ? $foo : $bar;
Ознакомьтесь с разделом «Терминальный оператор» на этой странице: http://php.net/manual/en/language.operators.comparison.php
Это в основном короткое сокращение для if else, приведенный выше код такой же, как:
if($gork === 1) $a = $foo; else $a = $bar;
if($gork === 1) $a = $foo; else $a = $bar;
Это условное выражение короткой формы, известное в PHP как «тернарный оператор». Дополнительную информацию об использовании см. В руководстве по PHP .
echo ($sheLovesMe ? "She loves me!" : "She loves me not!");