PHP中“=>”是什么意思?

在下面的代码中, =>运算符是什么意思?

 foreach ($user_list as $user => $pass) 

该代码是在PHP.net的注释。 用户没有指定$user_list$user或$ pass的值。 我通常看到=>表示等于或大于。

但是,我不确定它的目的,因为它没有被分配。 我读了代码

  1. 处理整数的用户列表
  2. 使得每个用户的值等于或大于密码

以上对我没有意义。

=>是关联数组的分隔符。 在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