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)
}
}