需要在php中替换数组键

时间:2012-01-20 07:11:23

标签: php

这是输出数组

Array
(
    [0] => 4
    [2] => 400
    [3] => 4000
    [4] => 40000
)

从上面的数组我需要有序地替换密钥。

Array
(
    [0] => 4
    [1] => 400
    [2] => 4000
    [3] => 40000
)

然后, 我需要在上面的数组中添加2个值。该值应该是数组包含的任何值。最后,我需要像这样的输出

Array
(
    [0] => 4
    [1] => 400
    [2] => 4000
    [3] => 40000
    [4] => 40
    [5] => 4000
)

怎么做?

2 个答案:

答案 0 :(得分:5)

//replace the key orderly
$new_array = array_values($old_array);
//add value
$new_array[] = $new_value; 

答案 1 :(得分:0)

不确定您要执行的操作,但在更正数组键后,您似乎需要抓取两次随机密钥:

$arr=array ( 0 => 4, 2 => 400, 3 => 4000, 4 => 40000 );
echo "Before the array keys are sorted orderly:<br/>";
echo "<pre>";
print_r($arr);
echo "</pre>";

$arr = array_values($arr);

for($i=0; $i<2; $i++)
{
    $array_size=count($arr);
    $arr[]=$arr[mt_rand(0, $array_size-1)];
}
echo "After the sort and added values:<br/>";
echo "<pre>";
print_r($arr);
echo "</pre>";

复制并粘贴此代码并运行它,看它是否产生了所需的结果。

编辑 - 编辑 - 编辑

请详细说明最后一步:

  

然后,我需要在上面的数组中添加2个值。这个价值应该是任何   数组包含的值。最后,我需要输出   此

我的问题:

  1. 您可以在数组中添加任何值,还是只在数组中已经存在的值?最后2个索引包含值“40”和“4000”,但整个数组中没有40个值。