PHP中的"=>"是什么意思?

Léo*_* 준영 93 php

=>运算符在以下代码中的含义是什么?

foreach ($user_list as $user => $pass)
Run Code Online (Sandbox Code Playgroud)

该代码是PHP.net上的评论.用户没有指定的值$user_list,$user或$通过.我通常认为这=>意味着等于或大于.

但是,我不确定它的用途,因为它没有分配.我把代码读成了

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

以上对我没有意义.

hob*_*ave 122

=>是关联数组的分隔符.在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"
Run Code Online (Sandbox Code Playgroud)

请注意,这也可用于数字索引数组.

例:

$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
Run Code Online (Sandbox Code Playgroud)


Tyl*_*ter 22

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

分配数组时,就像这样做

$array = array("key" => "value");
Run Code Online (Sandbox Code Playgroud)

它使用相同的符号处理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"
}
Run Code Online (Sandbox Code Playgroud)


Pas*_*TIN 12

像"a => b"这样的代码意味着,对于关联数组(某些语言,如Perl,如果我没记错的话,称之为"hash"),'a'是键,'b'是值.

您可能想要查看至少的文档:

在这里,你有一个名为的数组,$user_list你将迭代它,为每一行获取该行的键$user,以及相应的值$pass.

例如,这段代码:

$user_list = array(
    'user1' => 'password1',
    'user2' => 'password2',
);

foreach ($user_list as $user => $pass)
{
    var_dump("user = $user and password = $pass");
}
Run Code Online (Sandbox Code Playgroud)

会得到这个输出:

string 'user = user1 and password = password1' (length=37)
string 'user = user2 and password = password2' (length=37)
Run Code Online (Sandbox Code Playgroud)

(我正在使用var_dump生成一个很好的输出,这有助于debuging;要获得正常的输出,你会使用echo)


"等于或大于"是另一种方式:"更大或相等",用PHP编写,就像这样; "> ="
对于大多数源自C:C++,JAVA,PHP的语言都是一样的......


作为一条建议:如果你刚刚开始使用PHP,那么你应该花一些时间(可能是几个小时,甚至半天甚至一整天)来完成手册的某些部分:-)
它'你帮了大忙!


Sch*_*els 6

PHP中的数组是值的键映射:

$array = array();
$array["yellow"] = 3;
$array["green"] = 4;
Run Code Online (Sandbox Code Playgroud)

如果要对数组中的每个键值对执行某些操作,可以使用foreach控件结构:

foreach ($array as $key => $value)
Run Code Online (Sandbox Code Playgroud)

$ array变量是您将使用的数组.$ key和$ value变量将在循环的每次迭代中包含键值对foreach.在这个例子中,它们首先包含"黄色"和3,然后是"绿色"和4.

如果您不关心键,可以使用替代表示法:

foreach ($array as $value)
Run Code Online (Sandbox Code Playgroud)


Mer*_*son 5

默认情况下,PHP 中的数组是关联数组(也称为字典或哈希)。如果你没有明确地为一个值分配一个键,解释器会默默地为你做这件事。所以,你已经通过了那里迭代的表达$user_list,使钥匙可以作为$user和可作为价值$pass作为的身体局部变量foreach