使用for循环打印阵列时遇到问题

时间:2013-08-08 14:50:58

标签: php arrays for-loop

这是我的数组结构:

Array
(
    [Title] => Array
        (
            [0] => 
            [1] => One
            [2] => Two
            [3] => Three
            [4] => Four
            [5] => test
            [6] => fsfd
            [7] => wa

        )

)

我想打印标题和数组元素,使其结构如下:

标题

  • 两个

我目前在使用传统的每个循环时都遇到了麻烦:

      foreach($items as  $key => $notice ){?>   

}?>

最好的方法是什么?感谢

4 个答案:

答案 0 :(得分:1)

您的数组是嵌套的。使用

foreach($items['Title'] as  $key => $noticeArr ){

或者如果您想打印第一个阵列的键,请使用:

foreach($items as  $key => $noticeArr ){
    echo $key . "\n";
    foreach($noticeArr as $notice){
        echo $notice . "\n";//Wrap in <li> tags or however you want to display.
    }
}

答案 1 :(得分:0)

你的数组中有一个数组“Title”。

您可以使用传统的for循环:

for ($i = 0; $i < count($yourArray['Title']); $i++) {
  echo $yourArray['Title'][$i];
}

或foreach:

foreach ($yourArray['Title'] as $item) {
  echo $item;
}

答案 2 :(得分:0)

你只需要迭代两次,一次用于第一个数组,另一次用于嵌套数组。

$data = array(
    'Title' => array('One','Two','Three'),
);

foreach ($data as $name => $results) {
    echo $name . "<br />";

    foreach ($results as $label)
    {
        echo $label . "<br />";
    }
}

答案 3 :(得分:0)

试试这个,会有效吗

foreach($items as  $key => $noticeArr ){
   echo $key . "<br />";
    $array = array_filter($noticeArr, create_function('$a','return $a!=="";'));

    foreach($array as $notice){
        echo "<li>".$notice ."</li>"."<br />";
    }
}