Php 在迭代时获取数组中的下一个空元素

Php 在迭代时获取数组中的下一个空元素,php,arrays,Php,Arrays,我希望在数组中插入元素,但不覆盖任何现有元素: $to_insert = 25; $elem = 'new'; $arr = array( 5 => 'abc', 10 => 'def', 12 => 'xyz', 25 => 'dontoverwrite', 30 => 'fff', ); foreach($arr as $index => $val){ if($to_insert == $index){ // here ge

我希望在数组中插入元素,但不覆盖任何现有元素:

$to_insert = 25;
$elem  = 'new';

$arr = array(
  5 => 'abc',
 10 => 'def',
 12 => 'xyz', 
 25 => 'dontoverwrite',
 30 => 'fff',
);

foreach($arr as $index => $val){
  if($to_insert == $index){
    // here get next free index, in this case would be 26;
    $arr[$the_free_index] = $elem;
  }   
}

我该怎么做呢?

以下代码将发现下一个索引未使用,从
$to\u insert
开始:

$to_insert = 25;
$elem = 'new';

for($i = $to_insert; ; $i++)
{
   if(!isset($arr[$i]))
   {
      $arr[$i] = $elem;
      break;
   }
}

以下代码将查找未使用的下一个索引,从
$to\u insert
开始:

$to_insert = 25;
$elem = 'new';

for($i = $to_insert; ; $i++)
{
   if(!isset($arr[$i]))
   {
      $arr[$i] = $elem;
      break;
   }
}

您需要一个从
$to_insert
开始的简单循环,并增加循环变量,直到找到一个值,而该值在
$arr
中还没有作为键存在。因此,您可以将
用于
和:

这将在
$to_insert
键存在和不存在时正确插入元素


您需要一个简单的循环,它从
$to_insert
开始,并增加循环变量,直到它找到一个值,而该值在
$arr
中还没有作为键存在。因此,您可以将
用于
和:

这将在
$to_insert
键存在和不存在时正确插入元素