php而array1是空迭代

时间:2009-12-03 19:34:18

标签: php while-loop

如何使用while循环迭代,直到array1为空。

到目前为止,我基于几个条件将元素从array1推送到array2。但我想迭代array1,直到array1中的所有内容都在array2中。

类似的东西:

// or while everything from array1 is on array2
while(array1 is empty){

  if(somecondition1)
     array_push(array2,"Test");
     unset(array1[$i]);
  elseif(somecondition2)
     array_push(array2,"Test");
     unset(array1[$i]);    
}

任何想法都会受到赞赏!

2 个答案:

答案 0 :(得分:1)

count()可以工作:

while(count(array1)){

  if(somecondition1)
     array_push(array2,"Test");
  elseif(somecondition2)
     array_push(array2,"Test");

}

或使用do..until

do {

  if(somecondition1)
     array_push(array2,"Test");
  elseif(somecondition2)
     array_push(array2,"Test");

} until (count(array1) == 0)

答案 1 :(得分:1)

这是我在扩展伪代码时进行的测试

$array1 = range( 1, 10 );
$array2 = array();

$i = 0;
while ( !empty( $array1 ) )
{
  if ( $array1[$i] % 2 )
  {
     array_push( $array2, "Test Even" );
     unset( $array1[$i] );
  } else {
     array_push( $array2, "Test Odd" );
     unset( $array1[$i] );
  }
  $i++;
}

echo '<pre>';
print_r( $array1 );
print_r( $array2 );