What does - mean/refer to in PHP?
->
accesses a member of an object. So $wp_query->max_num_pages
is accessing the field max_num_pages
in the object $wp_query
. It can be used to access either a method or a field belonging to an object, and if you're familiar with C++ or Java, it's equivalent to myObject.myField
Reference Guide: What does this symbol mean in PHP? (PHP Syntax)
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.
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";
}
Live example
In the case above ++$i
is used, since it is faster. $i++
would have the same results.
Pre-increment is a little bit faster because it really increments the variable and after that 'returns' the result. Post-increment creates a special variable, copies there the value of the first variable and only after the first variable is used, replaces its value with second's.
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:
- Understanding Incrementing
PHP &$string - What does this mean?
You are assigning that array value by reference.
passing argument through reference (&$) and by $ is that when you pass argument through reference you work on original variable, means if you change it inside your function it's going to be changed outside of it as well, if you pass argument as a copy, function creates copy instance of this variable, and work on this copy, so if you change it in the function it won't be changed outside of it
Ref: http://www.php.net/manual/en/language.references.pass.php
What does the variable $this mean in PHP?
It's a reference to the current object, it's most commonly used in object oriented code.
- Reference: http://www.php.net/manual/en/language.oop5.basic.php
- Primer: http://www.phpro.org/tutorials/Object-Oriented-Programming-with-PHP.html
Example:
<?php
class Person {
public $name;
function __construct( $name ) {
$this->name = $name;
}
};
$jack = new Person('Jack');
echo $jack->name;
This stores the 'Jack' string as a property of the object created.
What does =& mean in PHP?
It passes by reference. Meaning that it won't create a copy of the value passed.
See:
http://php.net/manual/en/language.references.php (See Adam's Answer)
Usually, if you pass something like this:
$a = 5;
$b = $a;
$b = 3;
echo $a; // 5
echo $b; // 3
The original variable ($a
) won't be modified if you change the second variable ($b
) . If you pass by reference:
$a = 5;
$b =& $a;
$b = 3;
echo $a; // 3
echo $b; // 3
The original is changed as well.
Which is useless when passing around objects, because they will be passed by reference by default.
What does = mean in PHP?
=>
is the separator for associative arrays. In the context of that foreach loop, it assigns the key of the array to $user
and the value to $pass
.
Example:
$user_list = array(
'dave' => 'apassword',
'steve' => 'secr3t'
);
foreach ($user_list as $user => $pass) {
echo "{$user}'s pass is: {$pass}\n";
}
// Prints:
// "dave's pass is: apassword"
// "steve's pass is: secr3t"
Note that this can be used for numerically indexed arrays too.
Example:
$foo = array('car', 'truck', 'van', 'bike', 'rickshaw');
foreach ($foo as $i => $type) {
echo "{$i}: {$type}\n";
}
// prints:
// 0: car
// 1: truck
// 2: van
// 3: bike
// 4: rickshaw
Related Topics
Interview Question: How to Have an Echo Before Header
How to Add Rel="Nofollow" to Links with Preg_Replace()
Display Price on Add to Cart Button from the Functions.PHP File in Woocommerce
Destination Path for Move_Uploaded_File in PHP
.Htaccess Rewriterule: Two Domains Using Same Server and Directory
How to Use File_Get_Contents or File_Get_Html
Protect the Excel File Using PHPexcel
Why Is My Downloaded File Is Always Damaged or Corrupted
Google Map: Is a Lat/Lng Within a Polygon
Using PHP, How to Insert Text Without Overwriting to the Beginning of a Text File
Output a PHP Multi-Dimensional Array to a HTML Table
How to Create a New Page in Prestashop Admin Panel