创建多维数组并访问字段


Creating a multidimensional array and accessing fields

我已经为此兜圈子好几天了......请帮忙。

我正在尝试根据目录中的文件数量和解析的文件名创建一个多维数组......

foreach ($files as $file) {
     echo "$file[0] $file[1]  <br>'n" ;  #file[0]=Unix timestamp; file[1]=filename
     $pn = explode('.', $file[1]);
     $ndt = explode('_',array_shift($pn)) ;
         foreach ($ndt as $arndt) {
         $items[$arndt] = $ndt ; //this part does not work
         echo "$ndt[0] $ndt[1] $ndt[2] $ndt[3] $ndt[4]" ;
     }
    print_r($items[$arndt]) ;

}

我的数组的输出是这样的:

阵列 ( [0] => OLPH [1] => 烧烤 [2] => 03132013 [3] =>

上午 11 点 [4] => 下午 2 点 )

注意:我在目录中只有 1 个文件用于测试目的,但会有更多,因此需要一个多维数组......

然后,我尝试使用以下命令访问html中的数组:

<h4><a href="#"><?php echo "$items[$arndt]. $ndt[1]" ?></a></h4>

....自然,此输出不会打印我想要的结果....对于每个文件[1],我希望能够打印$arndt[]并使用$items[][]表示法访问它。但是它只是打印数组[]数组[] ....请帮忙 ?

提前感谢,

卡洛斯

字符串上下文中回显/打印数组只会给你Array。如果您正在处理多维数组,则每个维度都必须有自己的循环来打印其内容。

例如

$arr1d = array('foo' => 'bar'); // 1D array
echo $arr1d; // outputs "Array"
$arr2d = array('foo' => array('bar' => 'baz')); // 2D array
echo $arr2d; // outputs 'Array';
echo $arr2d['foo']; // outputs 'Array'
echo $arr2d['foo']['bar']; // outputs 'baz'
foreach($arr2d as $key1 => $val1) {
    echo $val1; // outputs 'Array';
    foreach($val1 as $key2 => $val2) {
        echo $val; // outputs 'Baz'
    }
}