foreach
无法获取数组的结尾。我想在另一种方法中使用end的结尾:
$array = array(
"Language programings"=>array("php" => 100,"js" => 200),'html'=>12);
foreach ($array as $kk=>$val1)
{
echo $kk.'<br/>';
foreach ($val1 as $key=>$val2)
{
if (! end(array_keys($array)))
echo $val2;
}
echo end(array_value);//must be show 12
}
答案 0 :(得分:1)
如果我理解正确,在if()语句中,您正在尝试查看指针是否位于数组的末尾。不幸的是,在这种情况下,end()永远不会为false,因此行echo $ val2;永远不会执行。
尝试替换
if (! end(array_keys($array)))
与
if ($key <> end(array_keys($array))
你的最后一行应该是:
echo end(array_values($array));
答案 1 :(得分:0)
尝试使用以下代码:
$array = array("Language programings"=>array("php" => 100,"js" => 200),'html'=>12);
foreach($array as $key1 => $val1){
if(is_array($val1)){
echo $key1.'<br/>';
foreach($val1 as $key2 => $val2){
if(is_array($val2)){
foreach($val2 as $k => $v){
echo $v.'<br/>';
}
} else {
echo $val2.'<br/>';
}
}
}
}
echo end(array_values($array));
结果将是:
Language programings
100
200
12