创建多维数组并访问字段

时间:2013-10-22 14:52:32

标签: php arrays multidimensional-array

我已经在这里乱逛了好几天......请帮助。

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

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] =&gt; OLPH [1] =&gt;烧烤[2] =&gt; 03132013 [3] =&gt; 11am [4] =&gt; 2pm)

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

然后我尝试使用以下方法访问我的html中的数组:

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

....当然,这个输出不打印我想要的结果....对于每个文件[1]我希望能够打印$ arndt []并使用$ items [] []访问它符号....但它只是打印Array [] Array [] ....请帮忙?

提前致谢,

卡洛斯

1 个答案:

答案 0 :(得分:0)

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

e.g。

$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'
    }
}