【问题标题】:Does foreach() work for non-numerical array keys?foreach() 是否适用于非数字数组键?
【发布时间】:2010-12-04 09:58:25
【问题描述】:

我想知道当数组如下所示时 foreach() 是否有效:

  • arr_name[eggs] = 某事
  • arr_name[铅笔] = 别的​​东西

如果运行为:将 foreach 工作:

foreach(arr_name as $key => $value)

因为它们是具有非数字值的键?

【问题讨论】:

  • 真的有那么难尝试吗?而不是在stackoverflow中问这里?
  • 是的 - 我本可以自己找到,但搜索并没有给我足够好的结果。因此,对于这样一个简单的问题,它会花费更多的时间。还有,未来人们会在这里找到答案,所以我看不到问题所在。

标签: php arrays foreach associative-array


【解决方案1】:

是的,foreach 支持任何类型的密钥。在您的情况下,$key 将是一个字符串,'eggs''pencil' 分别用于每个项目。事实上,foreach 旨在与具有非数字键的数组一起使用,您无法使用 for 轻松迭代。

【讨论】:

    【解决方案2】:

    是的,PHP 在具有数字键和非数字键的数组之间没有真正的区别。就 PHP 而言,它们都是简单的数组。

    【讨论】:

      【解决方案3】:

      是的,BoltClock 给出的解释是正确的,我建议您也手动尝试一下。您在 foreach 语句中错过了 $before 数组名称

      foreach($arr_name as $key=>$value) 回声$值 ?>

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-11
        • 1970-01-01
        • 2022-10-24
        • 2021-12-18
        • 1970-01-01
        相关资源
        最近更新 更多