Jump to content

What is this syntax?


Ninjakreborn

Recommended Posts

<?php
/* Register footer widget */
if (function_exists('register_footercounter') )
register_footercounter(array(
'before_widget' => '',
'after_widget' => '',
'before_title' => '',
'after_title' => '',
));
?>

How exactly does this syntax work.  I am not use to seeing this. It is an if statement without brackets.  It uses a function inside of it with an array.  So, I do not exactly understand what is happening here.  I have used php for a long time and just now started working with Wordpress awhile back, and reviewing how to do themes, and I am seeing this kind of

funky syntax all over the place.  Thanks again.

Link to comment
Share on other sites

To add to Maq's explanation: The six lines of code following the IF statement is interpreted as a single line of code to the PHP interpreter. It is a single function call with one parameter as an array that is defined over multiple lines. The semi-colon at the end is what tells the parser that the line is done - not the line breaks.

Link to comment
Share on other sites

This syntax works for more than just if else, it also works for loops. such as:

 

for($i = 0; $i < $j; $i++)
   some_func($i);

 

is the same as

 

for($i = 0; $i < $j; $i++)
{
   some_func($i);
}

 

I personally like the lack of a bracket for simple commands like that, but more complex functions with lots of parameters (or an array like stated before) I would use brackets.

 

Honestly this is the best:

$c = ($a == $b) ? 1 : 0;

haha

Link to comment
Share on other sites

i agree with parino_esquilado. imo, it's one of those 'just always do it for consistency even though you don't have to always do it' things.

 

Agreed 100%.

 

This syntax works for more than just if else, it also works for loops

 

Good point.

 

Link to comment
Share on other sites

Honestly this is the best:

$c = ($a == $b) ? 1 : 0;

 

It depends. Since you are setting the value to 1/0 are you wanting the value of $c to be a boolean value or are you going to use the numerical values of 0 and 1 in calculaions? If you are only wanting to set $c to a boolean then it is unnecessary to create a condition such as "if this condition is true set this value to true otherwise set this value to false". Instead, just create a line such as "set this value to this condition", such as:

$c = ($a == $b);

Link to comment
Share on other sites

  • 3 weeks later...
This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.