php无法获取数组的结尾

时间:2012-09-05 05:44:51

标签: php

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
   }

2 个答案:

答案 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