Php 生成具有指定键的数组

Php 生成具有指定键的数组,php,arrays,php-5.3,php-5.5,Php,Arrays,Php 5.3,Php 5.5,我有一个大问题。我有这个阵列: Array ( [2] => 566 [9] => 1946 ) 我需要生成一个数组,对于这个例子,数组的键需要是从1到7随机。。。因此,对于这个数组,结果应该是: Array ( [1] => 566 [5] => 566 [1] => 1946 [6] => 1946 [2] => 1946 [5] => 1946 [7] => 19

我有一个大问题。我有这个阵列:

Array
(
    [2] => 566
    [9] => 1946
)
我需要生成一个数组,对于这个例子,数组的键需要是从1到7随机。。。因此,对于这个数组,结果应该是:

Array
(
    [1] => 566
    [5] => 566
    [1] => 1946
    [6] => 1946
    [2] => 1946
    [5] => 1946
    [7] => 1946
    [6] => 1946
    [3] => 1946
    [4] => 1946
    [7] => 1946
)

556有2个,所以我在数组中放了2次,随机键在1到7之间。1946年,同样的,从一开始就有9个。对于这个id,需要放入一个数组9次,其键在1到7之间。请帮帮我。Thx在PHP数组中是唯一的。因此,根据定义,鉴于此实现的特殊性,无法满足您的需求

相反,如果你认为你有两个唯一的值(<代码> 566 < /代码>和<代码> 1946代码> >),你想在<代码> 1 和<代码> 7 < />之间生成任意数量的随机值(不是唯一的),那么可以使用值<代码> 566 < /COD>和<代码> 1946 < /代码>作为关键字。

$uniqueValues = [2 => 566, 9 => 1946];
$newValues    = [];

function getRandomNumbers($n, $i, $j)
{
    $values;
    for($s = 0; $s < $n; $s++) {
        $values[] = mt_rand($i, $j);
    }
    return $values;
}

foreach($uniqueValues as $n => $value) {
    $newValues[$value] = getRandomNumbers($n, 1, 7);
}

var_dump($newValues);

相反,这里得到的是一个数组数组,其中的键表示一组唯一的值,其中有一个随机数数组。

我无法使用一些相等的键生成数组,因此不可能得到结果。不能有多个相同键的数组。它必须是该数组中的键吗?结果可能是一个对象数组吗?像
[0]=>{x:7,号码:566},[1]=>{x:7,号码:1946}
array(2) {
  [566]=>
  array(2) {
    [0]=>
    int(6)
    [1]=>
    int(5)
  }
  [1946]=>
  array(9) {
    [0]=>
    int(4)
    [1]=>
    int(2)
    [2]=>
    int(6)
    [3]=>
    int(6)
    [4]=>
    int(5)
    [5]=>
    int(2)
    [6]=>
    int(2)
    [7]=>
    int(2)
    [8]=>
    int(7)
  }
}