【问题标题】:Dynamic indexed multidimensional array print in foreach loop and print in table动态索引多维数组在foreach循环中打印并在表中打印
【发布时间】:2018-03-20 06:40:56
【问题描述】:

我有多个索引数组,这里的索引是动态变化的。实际上数组的索引是组的 id。我如何将这些数组传递给foreach 循环

 Array
(
    [0] => Array
        (
            [462] => Array
                (
                    [0] => Array
                        (
                            [group_name] => First
                            [invoice_no] => 

                        )

                    [1] => Array
                        (
                            [invoice_no] => 
                            [invoice_no] => 2Q

                        )

                )

            [525] => Array
                (
                    [0] => Array
                        (
                            [group_name] => Second
                            [invoice_no] => 

                        )

                    [1] => Array
                        (
                            [group_name] => 
                            [invoice_no] => 3QW

                        )

                )


        )

)

这是我的数组结构,请帮助我在不改变数组结构的情况下使用 php 中的foreach 循环打印结果 我正在尝试这段代码

foreach ($Sale_list_array as $key => $value) {
    echo ($key);

    echo $value[$key][group_name];
}

但是,这不能解决我的问题。我希望在表结构中这样输出

<table>
<thead>
<tr>
<td>Group</td>
<td>Invoice</td>
</tr>
</thead>
<tbody>
<tr><td>First</td><td></td></tr>
<tr><td></td><td>2Q</td></tr>
<tr><td>Second</td><td></td></tr>
<tr><td></td><td>3QW</td></tr>
</tbody>
</table>

【问题讨论】:

  • 你能显示你的预期输出吗?
  • 那么具体的问题是什么?你试过的代码在哪里?
  • 还有你希望循环遍历哪个数组?
  • $arrayVariable[$keyVariable] = $valueVariable;this 将使用动态键和值创建您的数组
  • 所以你希望$key 作为新数组的键,$value[$key][group_name] 作为值?

标签: php arrays loops multidimensional-array foreach


【解决方案1】:

试试下面这段代码,$wholeArr 是一个变量,它保存你的完整数组值

     foreach( $wholeArr as $group ){
        foreach( $group as $groupKey => $groupValues ){
           foreach( $groupValues as $groupVal ){
             echo $groupVal["group_name"]."<br/>";
           }
         }
       }

【讨论】:

  • @ubm 没提,很高兴听到你的问题解决了,
【解决方案2】:

试试这个

$newArray = array();
foreach ($Sale_list_array as $key => $value) {
   $newArray[$key] = $value[$key][group_name];
}
print_r($newArray)

【讨论】:

  • 你正在尝试访问不存在的索引 0 显示你的代码你尝试了什么
  • echo $Sale_list_array[0][462][0]['group_name'],那我先得了
  • 这只会在您使用静态密钥时返回第一个 group_name。您需要使用 foreach 动态遍历数组
  • 哦..我用双foreach循环解决了这个问题,好的,谢谢
猜你喜欢
  • 1970-01-01
  • 2021-11-26
  • 1970-01-01
  • 2015-08-12
  • 1970-01-01
  • 2020-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多