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

php
2022-08-30 07:26:29

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

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

该代码是 PHP.net 注释。用户未指定 的值,或 。我通常认为这意味着等于或大于。$user_list$user$pass=>

但是,我不确定它在这里的目的,因为它没有被分配。我已将代码读取为

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

以上对我来说没有意义。


答案 1

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

答案 2

这意味着将键分配给$user,将变量分配给$pass

当你分配一个数组时,你可以这样做

$array = array("key" => "value");

它使用相同的符号来处理 foreach 语句中的数组。“=>”链接键和值。

根据 PHP 手册,“=>”创建了键/值对。

此外,“等于”或“大于”则相反:“>=”。在 PHP 中,大于或小于符号总是排在第一位:'>=', '<='。

顺便说一句,排除第二个值并不像你想象的那样有效。它实际上只给你一个值,而不是只给你一个值:

$array = array("test" => "foo");

foreach($array as $key => $value)
{
    echo $key . " : " . $value; // Echoes "test : foo"
}

foreach($array as $value)
{
    echo $value; // Echoes "foo"
}

推荐