如何在PHP中以这种方式修改数组的键?

时间:2010-08-25 06:41:29

标签: php arrays

2nd中的$array元素,将密钥增加100,假设密钥都是数字。

3 个答案:

答案 0 :(得分:2)

你可以这样做:

$keys   = array_keys($array);          // extract keys.
$values = array_values($array);        // extract values.

for($i=1;$i<count($keys);$i++) {       // increment keys start 2nd key.
    $keys[$i] += 100;
}

$array = array_combine($keys,$values); // combine back

答案 1 :(得分:1)

$new_array = array();
$count = 0;
foreach ($original_array as $key => $value)
{
  if ($count > 0)
    $new_array[$key + 100] = $value;
  else
    $new_array[$key] = $value;
  $count++;
}

现在$new_array包含您的“移位”$original_array,从元素#2开始。

答案 2 :(得分:0)

如下面的评论中所述,以下解决方案仅适用于移动单个元素。

 reset($array); //moves pointer to the beginning
 next($array); //moves pointer to 2nd element
 $array[key($array)+100] = current($array); // copies current element to incremented key
 unset($array[key($array)]); //remove the element