What does the symbol :
mean in PHP?
6 Answers
PHP offers an alternative syntax for some of its control structures; namely, if, while, for, foreach, and switch. In each case, the basic form of the alternate syntax is to change the opening brace to a colon (:) and the closing brace to endif;, endwhile;, endfor;, endforeach;, or endswitch;, respectively.
You also encounter :
if you use the alternative syntax for control structures:
<?php
if ($a == 5):
echo "a equals 5";
echo "...";
elseif ($a == 6):
echo "a equals 6";
echo "!!!";
else:
echo "a is neither 5 nor 6";
endif;
?>
Or as already mentioned the ternary operator:
$action = (empty($_POST['action'])) ? 'default' : $_POST['action'];
(Examples taken from the documentation)
Edit: Somehow I didn't see that the alternative syntax was already mentioned, must be too tired ;) Anyway, I will leave it as it is, as I think an actual example and a link to the documentation is more helpful than just plain text.
-
Third place would be the
foreach ( $entry : $list)
thing wouldnt it?– FelixCommented Dec 9, 2016 at 20:02 -
Could you please help me.I'm doubtful about the use of ' : ' in the following context ( Laravel ). ['email' => 'required|email|unique:email,users']– MichelCommented Oct 27, 2017 at 6:59
-
@Michel: I don’t know about Laravel, sorry. From PHP‘s perspective,
:
is part of a string so it has no special meaning. Commented Oct 27, 2017 at 7:34
I'm guessing you're seeing this syntax:
print ($item ? $item : '');
This is a short form of if/else. The ? is the if, and the : is the else.
Shorter if statement:
$val = (condition) ? "condition is true" : "condition is false";
As others have posted, you probably are looking at ternary logic.
However, if two of them are together, then it is the scope resolution operator, used for referencing status methods/properties and constants.
be specific
. Oftentimes, this means giving a code example.