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 に答える