$a = $b = 0; In the above code, are both $a and $b assigned the value of 0, or is $a just referencing $b?
You can assign multiple values to multiple variables by separating variables and values with commas , . You can assign to more than three variables. It is also possible to assign to different types. If there is one variable on the left side, it is assigned as a tuple.
In Python, variables need not be declared or defined in advance, as is the case in many other programming languages. To create a variable, you just assign it a value and then start using it. Assignment is done with a single equals sign ( = ).
Python assigns values from right to left. When assigning multiple variables in a single line, different variable names are provided to the left of the assignment operator separated by a comma. The same goes for their respective values except they should to the right of the assignment operator.
With raw types this is a copy.
test.php
$a = $b = 0; $b = 3; var_dump($a); var_dump($b); Output:
int(0) int(3) With objects though, that is another story (PHP 5)
test.php
class Obj { public $_name; } $a = $b = new Obj(); $b->_name = 'steve'; var_dump($a); var_dump($b); Output
object(Obj)#1 (1) { ["_name"]=> string(5) "steve" } object(Obj)#1 (1) { ["_name"]=> string(5) "steve" }
Regard this code as:
$a = ($b = 0); The expression $b = 0 not only assigns 0 to $b, but it yields a result as well. That result is the right part of the assignment, or simply the value that $b got assigned to.
So, $a gets assigned 0 as well.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With