tags:

views:

206

answers:

7

What this symbol : mean in php?

+8  A: 

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.

dalton
great, thanks..
hey
+5  A: 

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.

ceejayoz
+1  A: 

It can mean a number of things. Do you mean the ternary operator, ?:?

BlueRaja - Danny Pflughoeft
+1  A: 

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.

Darien
+4  A: 

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.

Felix Kling
A: 

You mean in PHP: Hypertext Preprocessor? It's just a colon.

webbiedave
+1  A: 

shorter if statement...

$val = (condition) ? "condition is true" : "condition is false";
cthulhu