foreachPHP循环的一个例子是
foreach ($row as $key => $value) {
// somecode
}
Run Code Online (Sandbox Code Playgroud)
我无法理解你在=>做什么.任何人都可以让我了解它是如何被"看到"或由PHP评估的?什么是操作顺序,分配给什么值$key?
是什么让它与以下不同:
foreach ($row as $value) {
// somecode
}
Run Code Online (Sandbox Code Playgroud)
?
我逻辑上我认为$value将赋值的值$key,然后它将被指定为一行$row,但这显然是不正确的...
Cen*_*bit 22
我知道它有点棘手,我在第一次使用它时遇到了解问题.你使用的越多,它就越有意义.
你的数组看起来像这样:
// "key" "value"
// | |
// V V
$row['1'] = 'item1';
$row['2'] = 'item2';
$row['3'] = 'item3';
$row['4'] = 'item4';
Run Code Online (Sandbox Code Playgroud)
键可以是任何东西,它们不需要是数字.这样你就可以遍历数组中的所有项而无需知道密钥!
所以,你的第一个例子可以解释如下:
// +--- The ARRAY where all of your data is
// |
// | +----- The KEY to access that element of the array
// | |
// | | +----- The VALUE of that element
// | | |
// V V V
foreach ($row as $key => $value){
if($row[$key] == $value){ // this statement is always true
echo "true AGAIN!"; // and thus will always print this line
}
}
Run Code Online (Sandbox Code Playgroud)
据我所知,=>它并不是真正的各种操作数,它只是用来完成foreach循环的结构.
PHP数组存储为键和值对:
$arr = array(
'key1' => 'value1',
'key2' => 'value2'
);
Run Code Online (Sandbox Code Playgroud)
标准foreach语法只获取值:
foreach ($arr as $value) {
// value1, value2
}
Run Code Online (Sandbox Code Playgroud)
替代语法也允许您获取键:
foreach ($arr as $key => $value) {
// $key is "key1", then "key2"
// $value is "value1" then "value2"
}
Run Code Online (Sandbox Code Playgroud)
请参阅手册条目foreach.
这两个示例是相同的,但第一个示例添加了您当前正在查看的键的定义,并将其命名为 $key。
与array()定义进行比较,例如array('key' => 'value')
如果您使用第一种方法,则 $key 包含“key”,而在第二个示例中则不包含。