我有一个数据库调用,我试图找出 $key => $value
在 foreach
循环中的作用。
我问的原因是因为这两个代码输出相同的东西,所以我试图理解为什么这样写。这是代码:
1)在foreach中使用 $key => $value
foreach($featured as $key => $value){
echo $value['name'];
}
这输出相同:
2)在foreach中只使用 $value
foreach($featured as $value) {
echo $value['name'];
}
所以我的问题是,在 foreach
循环中, $key => $value
或只是 $value
之间有什么区别。如果有区别,数组是多维的,我只想知道为什么要将 $key
传递给 $value
在 foreach
循环中
原文由 handmdmr 发布,翻译遵循 CC BY-SA 4.0 许可协议
好吧,foreach循环中的
$key => $value
指的是关联数组中的键值对,其中键作为索引来确定值,而不是像0,1,2这样的数字,……在 PHP 中,关联数组如下所示:PHP代码中:
$featured
是循环遍历的关联数组,as $key => $value
表示每次循环运行,从数组中选择一个键值对,存储key在本地$key
循环块内使用的变量和本地$value
变量中的值。因此,对于上面的示例数组,foreach 循环将到达第一个键值对,如果您指定了as $key => $value
,它将存储'key1'
中的$key
变量和'value1'
在$value
变量中。由于您不在循环块中使用
$key
变量,添加或删除它不会改变循环的输出,但最好包括键值对以表明它是一个关联数组。还要注意
as $key => $value
指定是任意的。您可以将其替换为as $foo => $bar
只要将循环块内的变量引用更改为新变量,它就可以正常工作,$foo
和$bar
但是制作它们$key
和$value
有助于了解它们的含义。