在while循环中迭代关联数组

时间:2014-06-22 17:48:01

标签: php arrays while-loop associative-array

修改 我有一个关联数组:

$formation_domains_info_array = array(
    'electrotechnique-electronique' => array(
        'title'     =>  'ÉLECTROTECHNIQUE - ÉLECTRONIQUE',
        'flechage'  =>  array(212, 213, 355),
    ),
    'informatique-infographie-cao-dao' => array(
        'title'     =>  'INFORMATIQUE - INFOGRAPHIE - CAO/DAO',
        'flechage'  =>  array(217, 218),
    ),
    'metiers-du-verre-horlogerie' => array(
        'title'     =>  'MÉTIERS DU VERRE - HORLOGERIE',
        'flechage'  =>  array(215, 224),
    )
);

我想以这种方式迭代:

while ($index < count($fdomains_array)) {
     echo $formation_domains_info_array[$index++] .'<br/>';
     $index++;
}

我很惊讶地将“Undefined offset 0”作为错误消息。 是不是可以通过PHP中的关联数组进行迭代?

提前感谢您的解释。

1 个答案:

答案 0 :(得分:1)

可以使用while迭代关联数组,但不是这样。您需要利用listeach方法作为while语句的参数。

while(list($key, $value) = each($formation_domains_info_array)):
    //do stuff here
endwhile;

但你最好的选择,只是一个foreach循环。

foreach($formation_domains_info_array as $idx => $arr):
    //do stuff here
endforeach;