код ":" в php

Мне любопытно узнать, что синтаксис «:» означает в 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 :

  • Если expr1 оценивает значение true , expr2 оценивается, а возвращаемое значение expr2 является возвращаемым значением полного выражения оператора ?: ;
  • иначе expr3 оценивается, а возвращаемое значение выражения оператора ?: – возвращаемое значение 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!");