在php中的关联数组中使用do-while循环

时间:2011-11-08 13:52:21

标签: php arrays associative-array

我很困惑,因为我如何在php中的关联数组中使用do-while循环。我没有从0开始的有序索引,所以我不能像C或Java那样简单地迭代

注意:: 我特别想要做某种行为......即。循环s'd在开始时至少执行一次

2 个答案:

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