Sunday, 22 April 2018
Is there any reason for using => instead of = in PHP when assign a value to array?
Answer
Answer
Please note that I have already read Reference — What does this symbol mean in PHP? and What Does This Mean in PHP -> or => and I know that what =>
do in PHP.
My question is different.
Generally most programming languages use =
to assign value to another.
Example 01
$my_name = "I am the Most Stupid Person"; //Yes, that is my name in SO :-)
Example 02
$cars = array();
$cars[0] = "Volvo";
$cars[1] = "BMW";
$cars[2] = "Toyota";
Now let see following example.
$myArray = array(
0 => 'Big',
1 => 'Small',
2 => 'Up',
3 => 'Down'
);
Here is also what happen is we have assigned 'Big' for $myArray['0']
.
But here we used =>
instead of =
. Is there any special reason that PHP was designed that way?
Answer
Consistency of syntax is important, here I would say using =>
in arrays is to ensure =
still works. For example:
$a = 5;
Sets the variable $a
to 5
.
$a = $b = 5;
Sets the variable $a
and $b
to 5
. That is =
as an operator assigns the right hand side to the left hand side (if possible) and its result is also the right hand side. So now, in the context of an array:
$a = array(
0 => 'foo'
);
Now $a[0]
is 'foo'
.
$a = array(
0 => $b = 'foo'
);
Now $a[0]
and $b
are both 'foo'
. Now think about this:
$b = 0;
$a = array(
$b => 'foo'
);
Simply means $a[$b]
, that is, $a[0]
is 'foo'
. If PHP used =
for array keys:
$b = 1;
$a = array(
$b = 'bar'
);
What is the value of $a
? Is it [1 => 'bar']
? Or is it [0 => 'bar']
? Did $b
get the value 'bar'
? Or was it only used as a key?
As you can see, the parser would be very confusing this way, and there would be no way to allow keys defined by variables with this syntax.
casting - Why wasn't Tobey Maguire in The Amazing Spider-Man? - Movies & TV
In the Spider-Man franchise, Tobey Maguire is an outstanding performer as a Spider-Man and also reprised his role in the sequels Spider-Man...
-
The whole error output being: LNK2019 unresolved external symbol wWinMain referenced in function "int __cdecl __scrt_common_main_seh(vo...
-
I have come across CORS issues multiple times and can usually fix it but I want to really understand by seeing this from a MEAN stack paradi...
-
I recently used canvas to conert images to webp, using : const dataUrl = canvas.toDataURL('image/webp'); But this takes a lots of ti...
No comments:
Post a Comment