【问题标题】:php - how to use multiple array in foreach [duplicate]php - 如何在foreach中使用多个数组[重复]
【发布时间】:2012-08-26 01:52:10
【问题描述】:

可能重复:
foreach with three variables add

我有以下代码我想在 foreach 中使用多个数组。请注意,我需要 $yourSiteContent[] 原样。

foreach ($pieces as $id and $pieces1 as $id_date) {
    $yourSiteContent[] = array('permalink' => $id, 'updated' => $id_date);
}

如您所见,我有两个数组($pieces 和 $pieces1),请检查一个循环,让我知道我在哪里做错了。

$pieces1 包含日期,$pieces 包含网址。

感谢您的帮助。

【问题讨论】:

  • and 语法是新的吗?我是不是有点落后了?
  • 我不知道只是从谷歌得到它...
  • 这对我来说没有任何意义(除非我不了解最新技术)。也就是说,foreach 通常是foreach($arr as $key => $val),所以你的语法有几个问题。您的 Google 示例代码伪代码是偶然的吗?
  • $pieces$pieces1 的键匹配吗?
  • foreach 仅支持单个数组。如果没有变通方法,您不能同时迭代两个。

标签: php


【解决方案1】:

假设 $pieces 和 $pieces1 具有相同的键,您可以执行以下操作:

for (array_keys($pieces) as $key) {
    $yourSiteContent[] = 
        array('permalink' => $pieces[$key], 'updated' => $pieces2[$key]);
}

【讨论】:

    【解决方案2】:

    您应该使用for 循环和索引器,然后访问每个数组。

    【讨论】:

      【解决方案3】:

      为了保持 foreach 格式,您也可以这样做(假设 $pieces 和 $pieces1 具有相同的键):

      $yourSiteContent = array();
      foreach ($pieces as $key=>$value) {
          $yourSiteContent[] = array('permalink'=>$value,
                                     'updated'=>$pieces1[$key]);
      }
      

      【讨论】:

        【解决方案4】:

        您可以使用array_combine() 将两个数组组合成一个数组,一个用于键,另一个用于值。

        foreach (array_combine($pieces, $pieces1) as $id => $id_date) {
            $yourSiteContent[] = array('permalink' => $id, 'updated' => $id_date);
        }
        

        更多信息请参见array_combine()

        【讨论】:

          猜你喜欢
          • 2015-06-23
          • 1970-01-01
          • 1970-01-01
          • 2012-05-06
          • 2018-03-01
          • 1970-01-01
          • 2019-09-03
          • 1970-01-01
          • 2015-11-09
          相关资源
          最近更新 更多