我很困惑,因为我如何在php中的关联数组中使用do-while循环。我没有从0开始的有序索引,所以我不能像C或Java那样简单地迭代
注意:: 我特别想要做某种行为......即。循环s'd在开始时至少执行一次
答案 0 :(得分:2)
如果您只需要迭代整个数组,则应使用foreach
:
foreach($array as $index => $value)
{
// do some stuff
}
如果您不关心数组的索引:
foreach($array as $value)
{
// do some stuff
}
答案 1 :(得分:2)
您可以使用array_keys功能。
$keys = array_keys($assocArray);
if(!empty($keys)) do{
$key = array_pop($keys);
// ...
}while(!empty($keys));
如果你真的想使用do-while循环。但是如果一个简单的while循环对你有好处,那么第一个if不是必要的:
$keys = array_keys($assocArray);
while(!empty($keys)){
$key = array_pop($keys);
// ...
};
编辑:
如果你真的希望你的循环至少运行一次:
$keys = array_keys($assocArray);
do{
$key = array_pop($keys);
if($key===NULL){
// first (and last) run for an empty array
}else{
// ...
}
}while(!empty($keys));