繁体   English   中英

在PHP中迭代关联数组不会打印出值

[英]iterate associate array in php does not print out values

我正在尝试以下代码在php中的数组,我创建了一个关联数组,打印出了值,然后向数组中添加了一个-再次打印出来。 这有效,但是如果我尝试foreach ($MovieCollection as $key => $value) ,则不会打印出值。 为什么不这样做呢?

$myArray = array("Star Wars", "The Shining");

foreach ($myArray as $val)
{
    echo("Movie: " . $val ."<br>");
}


$MovieCollection = array();
$MovieCollection[] = array('title' => 'Star Wars', 'description'     =>'classic');

foreach ($MovieCollection as $film )
{
    echo($film['title'] .": " . $film['description'] ."<br>");
}
$MovieCollection[] = array('title' => 'The shinning', 'description'         =>'creepy');


foreach ($MovieCollection as $film )
{
    echo($film['title'] .": " . $film['description'] ."<br>");
}
echo("<br><br>");
// This does not print the values?
foreach ($MovieCollection as $key => $value)
{
    echo($key .": " . $value ."<br>");
}

这是因为在这部分$MovieCollection是一个数组数组,如果您想回显作为数组的$value ,您将执行从Array to string conversion ,这是行不通的。

您可能要做的是使用另一个foreach来显示每个数组的值:

foreach ($MovieCollection as $value) {
    foreach ($value as $k => $v) {
        echo($k .": " . $v ."<br>");
    }
}

观看PHP演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM