Blog coding and discussion of coding about JavaScript, PHP, CGI, general web building etc.

Monday, December 28, 2015

What does this syntax ( page = $page ? $page : 'default' ) in PHP mean?

What does this syntax ( page = $page ? $page : 'default' ) in PHP mean?


I'm new to PHP. I came across this syntax in WordPress. What does the last line of that code do?

$page = $_SERVER['REQUEST_URI'];  $page = str_replace("/","",$page);  $page = str_replace(".php","",$page);  $page = $page ? $page : 'default'  

Answer by echo for What does this syntax ( page = $page ? $page : 'default' ) in PHP mean?


That's the ternary operator:

That line translates to

if ($page)      $page = $page;  else      $page = 'default';  

Answer by wallyk for What does this syntax ( page = $page ? $page : 'default' ) in PHP mean?


It means that if $page does not have a value (or it is zero), set it to 'default'.

Answer by Karsten for What does this syntax ( page = $page ? $page : 'default' ) in PHP mean?


More verbose syntax of the last line is:

if ($page)  {      $page = $page;  }  else  {      $page = 'default';  }  

Answer by Sarfraz for What does this syntax ( page = $page ? $page : 'default' ) in PHP mean?


It means if the $page variable is not empty then assign the $page variable on the last line that variable or set it to 'default' page name.

It is called conditional operator

Answer by Douwe Maan for What does this syntax ( page = $page ? $page : 'default' ) in PHP mean?


That's the so-called conditional operator. It functions like an if-else statement, so

$page = $page ? $page : 'default';  

does the same as

if($page)  {      $page = $page;  }  else  {      $page = 'default';  }  

Answer by noxoc for What does this syntax ( page = $page ? $page : 'default' ) in PHP mean?


It's a ternary operation which is not PHP or WordPress specific, it exists in most langauges.

(condition) ? true_case : false_case   

So in this case the value of $page will be "default", when $page is something similar to false ? otherwise it will remain unchanged.

Answer by Cups for What does this syntax ( page = $page ? $page : 'default' ) in PHP mean?


It's an example of the conditional operator in PHP.

It's the shorthand version of:

if (something is true ) {      Do this  }  else {      Do that  }  

See Using If/Else Ternary Operators http://php.net/manual/en/language.operators.comparison.php.


Fatal error: Call to a member function getElementsByTagName() on a non-object in D:\XAMPP INSTALLASTION\xampp\htdocs\endunpratama9i\www-stackoverflow-info-proses.php on line 72

0 comments:

Post a Comment

Popular Posts

Powered by Blogger.