1

这几天我一直在转圈……请帮忙。

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

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[]Array[] .... 请帮忙?

提前致谢,

卡洛斯

4

1 回答 1

0

在字符串上下文中回显/打印数组只会给你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'
    }
}
于 2013-10-22T14:57:23.517 回答