What is this?
This is a collection of questions that come up every now and then about syntax in PHP. This is also a Community Wiki, so everyone is invited to participate in maintaining this list.
Why is this?
Stack Overflow does not allow searching for particular characters. As a consequence, many questions about operators and other syntax tokens are not found easily when searching for them. This also makes closing duplicates more difficult. The list below is to help with this issue.
The main idea is to have links to existing questions on Stack Overflow, so it’s easier for us to reference them, not to copy over content from the PHP Manual.
What should I do here?
If you have been pointed here by someone because you have asked such a question, please find the particular syntax below. The linked pages to the PHP manual along with the linked questions will likely answer your question then. If so, you are encouraged to upvote the answer. This list is not meant as a substitute to the help others provided.
The List
If your particular token is not listed below, you might find it in the List of Parser Tokens.
&
Bitwise Operators or References
- What does it mean to start a PHP function with an ampersand?
- Understanding PHP's & operator
- PHP "&" operator
- difference between & and && in PHP
- What does "&" mean here in PHP?
- what does & mean in this case?
- What does the & sign mean in PHP?
- What does this signature mean(&) in PHP?
- How does "&" operator work in PHP function?
- What does & in &2 mean in PHP?
=&
References
- Reference assignment operator in php =&
- what do "=&" / "&=" operators in php mean?
- What do the '&=' and '=&' operators do? [PHP]
- What does =& mean in PHP?
- 'AND' vs '&&' as operator
- difference between & and && in PHP
- PHP: Is there a difference between operators AND and && here?
- PHP – and / or keywords
- What does the percent sign mean in PHP?
- What is the PHP operator % and how to use it in real world examples?
- What is the use of @ symbol in php?
- PHP – 'At' symbol before variable name: @$_POST
- PHP functions and @functions
- Should I use @ in my PHP code?
- What is ?: in PHP 5.3?
- What is the PHP ? : operator called and what does it do?
- ?: operator PHP
- Where can I read about conditionals done with ? and :
- Using PHP 5.3 ?: operator
:
Alternative syntax for control structures, Ternary Operator
- What do two colons mean in PHP?
- What's the meaning of the PHP Token Name T_PAAMAYIM_NEKUDOTAYIM
- In PHP, whats the difference between :: (double colon) and -> (arrow)?
- When to use class::function or class->function, is there a preferred method?
- What exactly is late-static binding in PHP?
- static::staticFunctionName()
- Unexpected T_PAAMAYIM_NEKUDOTAYIM, expecting T_NS_Separator
- What is the "->" PHP operator called and how do you say it when reading code out loud?
- where we use object operator "->" in php
- In PHP, whats the difference between :: (double colon) and -> (arrow)?
- What does this PHP syntax mean: $var1->$var2
- Absolutely basic PHP question about the "-> " syntax
=>
Arrays
- What does "=>" mean in PHP?
- What does '=>' sign in php means?
- Use of => in PHP
- What does $k => $v in foreach($ex as $k=>$v) mean?
- What does <<<END mean in PHP?
- PHP <<<EOB
- In PHP, what does "<<<" represent?
- Using <<<CON in PHP
- What's this kind of syntax in PHP?
- php == vs === operator
- How do the equality (== double equals) and identity (=== triple equals) comparison operators differ?
- PHP != and == operators
- The 3 different equals
- What does "===" mean?
- php == vs === operator
- How do the equality (== double equals) and identity (=== triple equals) comparison operators differ?
- The 3 different equals
- PHP != and == operators
- Is there a difference between !== and != in PHP?
- comparing, !== versus !=
- What is the difference between <> and !=
- What is the difference between the | and || operators?
- PHP – and / or keywords
- What exactly does || mean?
- The behaviour of the or operator in PHP
+
Arithmetic Operators, Array Operators
++
Incrementing/Decrementing Operators
- What is the difference between .= and += in php
- To understand a line of PHP
- What does .= mean in PHP?
<?=
Short Open Tags
[]
Arrays
- PHP : What does mean of []
- Php array_push() vs myArray[]
- What does [] mean when reading from a php array?
NOTE: This question was originally posted at StackOverflow.com by anon
- Sherry asked 14 years ago
- last edited 12 years ago
Incrementing / Decrementing Operators
++
increment operator
--
decrement operator
Example Name Effect
---------------------------------------------------------------------
++$a Pre-increment Increments $a by one, then returns $a.
$a++ Post-increment Returns $a, then increments $a by one.
--$a Pre-decrement Decrements $a by one, then returns $a.
$a-- Post-decrement Returns $a, then decrements $a by one.
These can go before or after the variable. Putting this operator before the variable is slightly faster.
If put before the variable, the increment / decrement operation is done to the variable first then the result is returned. If put after the variable, the variable is first returned, then the increment / decrement operation is done.
For example:
$apples = 10;
for ($i = 0; $i < 10; ++$i)
{
echo 'I have ' . $apples-- . " apples. I just ate one.\n";
}
In the case above ++$i
is used, since it is faster. $i++
would have the same results.
However, you must use $apples--
, since first you want to display the current number of apples, and then you want to subtract one from it.
You can also increment letters in PHP:
$i = "a";
while ($i < "c")
{
echo $i++;
}
Once z
is reached aa
is next, and so on.
Note that character variables can be incremented but not decremented and even so only plain ASCII characters (a-z and A-Z) are supported.
Stack Overflow Posts:
NOTE: This answer was originally posted at StackOverflow.com by Peter Ajtai
- Joe answered 14 years ago
- last edited 12 years ago
- You must login to post comments
Bitwise Operator
What is a bit? A bit is a representation of 1 or 0. Basically OFF(0) and ON(1)
What is a byte? A byte is made up of 8 bits and the highest value of a byte is 255, which would mean every bit is set. We will look at why a byte’s maximum value is 255.
-------------------------------------------
| 1 Byte ( 8 bits ) |
-------------------------------------------
|Place Value | 128| 64| 32| 16| 8| 4| 2| 1|
-------------------------------------------
This representation of 1 Byte
1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 = 255 (1 Byte)
A few examples for better understanding
The “AND” operator: &
$a = 9;
$b = 10;
echo $a & $b;
This would output the number 8. Why? Well let’s see using our table example.
-------------------------------------------
| 1 Byte ( 8 bits ) |
-------------------------------------------
|Place Value | 128| 64| 32| 16| 8| 4| 2| 1|
-------------------------------------------
| $a | 0| 0| 0| 0| 1| 0| 0| 1|
-------------------------------------------
| $b | 0| 0| 0| 0| 1| 0| 1| 0|
-------------------------------------------
So you can see from the table the only bit they share together is the 8 bit.
Second example
$a = 36;
$b = 103;
echo $a & $b; // This would output the number 36.
$a = 00100100
$b = 01100111
The two shared bits are 32 and 4, which when added together return 36.
The “Or” operator: |
$a = 9;
$b = 10;
echo $a | $b;
This would output the number 11. Why?
$a = 00001001
$b = 00001010
You will notice that we have 3 bits set, in the 8, 2, and 1 columns. Add those up: 8+2+1=11.
NOTE: This answer was originally posted at StackOverflow.com by Ankur Saxena
- Wayne answered 12 years ago
- last edited 12 years ago
- You must login to post comments
syntax name discription
x == y Equality True if x and y have the same key/value pairs
x != y Inequality True if x is not equal to y
x === y Identity True if x and y have the same key/value pairs in the same order and of the same types
x !== y Non-identity True if x is not identical to y
++ x Pre-increment Increments x by one, then returns x
x ++ Post-increment Returns x, then increments x by one
-- x Pre-decrement Decrements x by one, then returns x
x -- Post-decrement Returns x, then decrements x by one
x and y And True if both x and y are true x=6 y=3 (x < 10 and y > 1) returns true
x && y And True if both x and y are true x=6 y=3 (x < 10 && y > 1) returns true
a . b Concatenation Concatenate two strings "Hi" . "Ha"
NOTE: This answer was originally posted at StackOverflow.com by Ankur Saxena
- Wayne answered 12 years ago
- You must login to post comments
/**
?NOTE: This comment was originally posted at StackOverflow.com by Mike
NOTE: This comment was originally posted at StackOverflow.com by dncrane
NOTE: This comment was originally posted at StackOverflow.com by Herbert
NOTE: This comment was originally posted at StackOverflow.com by Gordon
NOTE: This comment was originally posted at StackOverflow.com by sandun dhammika