PHP foreach 循环示例混淆

标签 php foreach

PHP 中 foreach 循环的例子之一是

foreach ($row as $key => $value) { 
    // somecode
}

我无法理解 => 的作用。任何人都可以告诉我它是如何被 PHP“看到”或评估的吗? 操作顺序是什么,给$key赋值是什么?

它有什么不同:

foreach ($row as $value) { 
    // somecode
}

?

我逻辑上认为$value的值会被赋值给$key,那么它会被赋值为一行$row,但这显然是不正确的...

最佳答案

我知道它有点棘手,当我第一次开始使用它时,我很难理解它。您使用它的次数越多,它就越有意义。

你的数组看起来像这样:

//  "key"   "value"
//    |        |
//    V        V
$row['1'] = 'item1';
$row['2'] = 'item2';
$row['3'] = 'item3';
$row['4'] = 'item4';

键可以是任何东西,不需要是数字。这样您就可以遍历数组中的所有项目而无需知道 key !

因此,您的第一个示例可以解释如下:

//         +--- 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
   }
}

据我所知,=> 并不是真正的操作数,它只是用来完成 foreach 循环的结构。

关于PHP foreach 循环示例混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6130157/

相关文章:

PHP 错误包装器?

C# foreach 循环迭代与查询执行时的列表

perl - 如何在perl中的foreach循环中查找并删除字符串中重复值的出现

ruby-on-rails - 特定格式的单个数组中的 foreach 元素

phpexcel - 如何更改 excel 整列的数据类型

javascript - 如何在 PHP 中检测数据库事件时创建 Web 通知

php - Zend Navigation 显示菜单中的所有项目

php - Mysql INSERT INTO 无法正常工作

php - 使用购物车时我需要知道哪些变量?

powershell - Get-Member 中的 ForEach 属性