在PHP中访问2D数组

时间:2013-11-24 06:10:29

标签: php arrays

我创建了 2D数组并尝试访问每个元素,但我收到的每个数组的值都是错误的。我只能看到今天作为值

<?php

$blog = array ( 
        0 => array('by' => "Nilay Mehta", 'on' => "Today", 'id' => "Today", 'post' => "Today"),
        1 => array('by' => "Nilay Mehta", 'on' => "Today", 'id' => "Today", 'post' => "Today"),
        2 => array('by' => "Nilay Mehta", 'on' => "Today", 'id' => "Today", 'post' => "Today"),
        3 => array('by' => "Nilay Mehta", 'on' => "Today", 'id' => "Today", 'post' => "Today"),
);

foreach($blog as $blog)
{
    echo "<a href=\"#\">".$blog['by']."</a>";
    echo "<div class=\"blogtime\"> - ".$blog['on']."</div>";
    echo "<div class=\"blogtime\">Blog Post ID - ".$blog['id'];
    echo $blog['post'];
}
?>

2 个答案:

答案 0 :(得分:4)

as $blog将覆盖原始的$blog变量,并且您第一次可以访问该值但它将无法按预期工作。像我一样将第二个$blog更改为其他任何内容

foreach($blog as $b)
{
    echo "<a href=\"#\">".$b['by']."</a>";
    echo "<div class=\"blogtime\"> - ".$b['on']."</div>";
    echo "<div class=\"blogtime\">Blog Post ID - ".$b['id'];
    echo $b['post'];
}

在您的情况下,$blog将来自

array ( 
        0 => array('by' => "Nilay Mehta", 'on' => "Today", 'id' => "Today", 'post' => "Today"),
        1 => array('by' => "Nilay Mehta", 'on' => "Today", 'id' => "Today", 'post' => "Today"),
        2 => array('by' => "Nilay Mehta", 'on' => "Today", 'id' => "Today", 'post' => "Today"),
        3 => array('by' => "Nilay Mehta", 'on' => "Today", 'id' => "Today", 'post' => "Today"),
);

array('by' => "Nilay Mehta", 'on' => "Today", 'id' => "Today", 'post' => "Today");

答案 1 :(得分:1)

尝试使用foreach($blog as $ind_blog)代替foreach($blog as $blog),在当前系统$blog数组中替换为具有相同变量的循环的第一次出现..