PHP中“=>”是什么意思?
在下面的代码中, =>
运算符是什么意思?
foreach ($user_list as $user => $pass)
该代码是在PHP.net的注释。 用户没有指定$user_list
, $user
或$ pass的值。 我通常看到=>
表示等于或大于。
但是,我不确定它的目的,因为它没有被分配。 我读了代码
- 处理整数的用户列表
- 使得每个用户的值等于或大于密码
以上对我没有意义。
=>
是关联数组的分隔符。 在foreach循环的上下文中,它将数组的键分配给$user
,将值赋给$pass
。
例:
$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"
请注意,这也可以用于数字索引数组。
例:
$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
这意味着将密钥分配给$ user,将variables分配给$ pass
当你分配一个数组时,你可以这样做
$array = array("key" => "value");
它在foreach语句中使用相同的符号来处理数组。 '=>'链接键和值。
根据PHP手册 ,'=>'创build的键/值对。
此外,等于或大于相反的方式:'> ='。 在PHP中,大于号或小于号总是首先出现:'> =','<='。
正如一个侧面说明,排除第二个值不会像你想象的那样工作。 而不是只给你钥匙,它实际上只给你一个价值:
$array = array("test" => "foo"); foreach($array as $key => $value) { echo $key . " : " . $value; // Echoes "test : foo" } foreach($array as $value) { echo $value; // Echoes "foo" }
像“a => b”这样的代码意味着,对于一个关联数组(如果我没有记错的话,像Perl这样的一些语言,称这些为“hash”) ,'a'是一个键,'b'是一个值。
你可能想看看文档,至less:
- 的foreach
- arrays
在这里,你有一个名为$user_list
的数组,你将遍历它,获取每行的$user
行中的键值和$pass
的相应值。
例如,这个代码:
$user_list = array( 'user1' => 'password1', 'user2' => 'password2', ); foreach ($user_list as $user => $pass) { var_dump("user = $user and password = $pass"); }
将得到这个输出:
string 'user = user1 and password = password1' (length=37) string 'user = user2 and password = password2' (length=37)
(我正在使用var_dump
生成一个很好的输出,这有助于debugging;要得到一个正常的输出,你可以使用echo
)
“等于或大于”是另一种方式:“大于或等于”,这是用PHP编写的,就像这样; “> =”
从C:C ++,JAVA,PHP,…衍生出的大多数语言也是如此
作为一个build议:如果你刚刚开始使用PHP,你肯定应该花一些时间(也许几个小时,甚至半天,甚至一整天)通过手册的一些部分:-)
它会帮助你很多!
PHP中的数组是映射键值的映射:
$array = array(); $array["yellow"] = 3; $array["green"] = 4;
如果您想对数组中的每个键 – 值对进行操作,可以使用foreach
控制结构:
foreach ($array as $key => $value)
$ arrayvariables是你将要使用的数组。 $ key和$ valuevariables将在foreach
循环的每个迭代中包含一个键值对。 在这个例子中,他们将首先包含“黄色”和3,然后“绿色”和4。
如果您不关心密钥,可以使用替代符号:
foreach ($array as $value)
PHP中的数组是默认情况下的关联数组(也称为字典或散列)。 如果你不明确地把一个键分配给一个值,解释器会默默地为你做。 所以,你在那里得到的expression式遍历$user_list
,使得键名可以作为$user
,而$pass
作为foreach
主体中的局部variables。
$user_list
是一个数据的数组,当循环时可以分成它的名称和值。
在这种情况下,它的名字是$user
,它的值是$pass
。