2012-01-20 7 views
0

に配列のキーを交換する必要があり、私は秩序ある方法で鍵を交換する必要が上記の配列から出力配列は、ここで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 
) 

どのようにこれを行うには?

答えて

5
//replace the key orderly 
$new_array = array_values($old_array); 
//add value 
$new_array[] = $new_value; 
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>"; 

コピーして、このコードを貼り付けて、それを実行します希望の結果が得られるかどうかを確認してください。

EDIT - EDIT - EDIT

最後のステップについて詳しく説明してください:

、その後、私は上記の配列に2つの値を追加する必要があります。その値には、配列に含まれる値のうちのどれかが である必要があります。

  1. あなたは配列または既に配列を持っているだけの値で任意の値を入れることができます:最後に、私は この

私の質問のような出力が必要ですか?最後の2つのインデックスには値「40」と「4000」が含まれていますが、配列全体には40の値はありません。