访问多维数组的元素

时间:2012-08-02 21:01:12

标签: php arrays multidimensional-array

一个新手阵列问题......

给定具有此结构的数组:

$post_dates Array [1]   
    [0...0] 
        2640    Array [2]   
            [0...1] 
                _id 2640    
                date_posted MongoDate

当第一级键不总是相同时,我如何访问date_posted元素? 我以为我可以拥有这个:

$post_dates[0]['date_posted']

但那给了我一个'Undefined Offset'的消息。 我也试过了

$post_dates[0][1]

但是给出了同样的信息。

这是我收到错误的代码块:

foreach($posts as $post){

        $post_dates = iterator_to_array($posts_coll->find(array("topic_id"=>$post['_id']), array("date_posted"=>true)));

        if (empty($post_dates)){ // No replies, therefore last post date = date_posted
            //$replies = 0;
            $lastPost = date("d-M-Y h:i:s", $post['date_posted']->sec);
            echo "condition 1, last post date: " . $lastPost . "<br>";
        }
        elseif (count($post_dates) == 1) { // One reply, therefore last post date = $post_dates[date_posted]            
            //$lastPost = date("d-M-Y h:i:s", $post_dates[0][1]->sec);
            echo "condition 2, last post date: " . $lastPost . "<br>";
            var_dump($post_dates[0]['_id']);
        }
        else {
            // code to determine max date_posted if there is more than one reply
        }

}

1 个答案:

答案 0 :(得分:0)

如果您不知道链$array["known"]["also_known"][???]["date_posted"]中的任何键,则必须迭代数组以确定哪个具有您需要的date_posted