在嵌套的PHP foreach循环中移除嵌套数组

3
我在使用嵌套的foreach来展示来自数据库中数据的过程中遇到了问题。 在我编写的代码中,几乎成功将事务数据库中预期的输出数据以多维数组的形式提供出来,其中第二个嵌套数组包含出售的产品并删除了重复的出售数据。 我的问题是如何删除或不显示最后一个嵌套数组? 以下是我的代码:
    public function resultSetFP()
{
  $this->execute();
  $res = $this->stmt->fetchAll(PDO::FETCH_GROUP | PDO::FETCH_ASSOC);
 foreach($res as $key => $value){
   foreach($value as $v){
      foreach($v as $b){
         $res[$key][$b]=$b;
      }
   }
 }
 return $res;
}

输出代码:

    'P2-6/01/2018/094909/0001' => 
    array (size=5)
      0 => 
        array (size=1)
          'Bid' => string 'Dagadu Bocah' (length=12)
      1 => 
        array (size=1)
          'Bid' => string 'HirukPikuk' (length=10)
      2 => 
        array (size=1)
          'Bid' => string 'HirukPikuk' (length=10)
      'Dagadu Bocah' => string 'Dagadu Bocah' (length=12)
      'HirukPikuk' => string 'HirukPikuk' (length=10)
  'P2-6/01/2018/095825/0002' => 
    array (size=4)
      0 => 
        array (size=1)
          'Bid' => string 'Dagadu' (length=6)
      1 => 
        array (size=1)
          'Bid' => string 'HirukPikuk' (length=10)
      'Dagadu' => string 'Dagadu' (length=6)
      'HirukPikuk' => string 'HirukPikuk' (length=10)

我希望移除第三个嵌套的数组,只留下我标记的数据:

    'P2-6/01/2018/094909/0001' => 
        array (size=5)
//removing this array
          0 => 
            array (size=1)
              'Bid' => string 'Dagadu Bocah' (length=12)
          1 => 
            array (size=1)
              'Bid' => string 'HirukPikuk' (length=10)
          2 => 
            array (size=1)
              'Bid' => string 'HirukPikuk' (length=10)
//leaving this
          'Dagadu Bocah' => string 'Dagadu Bocah' (length=12)
          'HirukPikuk' => string 'HirukPikuk' (length=10)
1个回答

2

请尝试以下方法:

foreach ($res as $key => $value) {
    foreach ($value as $i => $v) {
        foreach ($v as $b) {
            $res[$key][$b] = $b;
        }

        unset($res[$key][$i]);
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接