You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP中如何完整打印多维数组的所有维度索引?

如何打印PHP多维数组的完整索引

你的问题出在每层foreach循环只获取了数组的值,没有捕获对应维度的键(索引)。只要在每层循环里同时拿到键和值,就能拼接出完整的索引路径。

修改后的代码如下:

<?php
$a= array();
$a[0][0][0] = 0;
$a[0][0][1] = 1;
$a[0][1][0] = 2;
$a[0][1][1] = 3;
$a[1][0][0] = 4;
$a[1][0][1] = 5;
$a[1][1][0] = 6;
   
foreach( $a as $k => $v){
    foreach( $v as $k1 => $v1 ){
        foreach ($v1 as $k2 => $value){
            echo"[$k][$k1][$k2] = $value\n";
        }
    }
}
?>

执行这段代码后,输出结果会是:

[0][0][0] = 0
[0][0][1] = 1
[0][1][0] = 2
[0][1][1] = 3
[1][0][0] = 4
[1][0][1] = 5
[1][1][0] = 6

如果以后遇到维度不固定的多维数组,可以用递归函数来处理,适配任意层数的数组:

<?php
function printArrayIndexes($arr, $prefix = '') {
    foreach ($arr as $key => $value) {
        $currentPath = $prefix . "[$key]";
        if (is_array($value)) {
            printArrayIndexes($value, $currentPath);
        } else {
            echo "$currentPath = $value\n";
        }
    }
}

$a= array();
$a[0][0][0] = 0;
$a[0][0][1] = 1;
$a[0][1][0] = 2;
$a[0][1][1] = 3;
$a[1][0][0] = 4;
$a[1][0][1] = 5;
$a[1][1][0] = 6;

printArrayIndexes($a);
?>

内容的提问来源于stack exchange,提问作者MASA49

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 21:55:42