【发布时间】:2015-04-29 18:06:29
【问题描述】:
好的,这是我的问题。我有一个名字数组。我想以随机顺序设置一个名称指向另一个名称的位置。但没有任何名称指向自己。我希望每个值都指向一个不同的值,并且每个值只指向一个值,而不是它本身。 希望我能想到一个更好的表达方式。这是我目前使用的方法
while($xcount>=1){
$orderarray[($xcount-1)]=$xcount;
$xcount--;
}
shuffle($orderarray);
问题是我不希望 $orderarry[$x] 等于 [$x] 这似乎几乎每次都会发生。有没有办法做到这一点。
无论如何,我试图虚拟地做当一群人都把他们的名字放在帽子里,然后每个人从帽子里挑选一个名字时会发生什么。就像一个秘密的圣诞老人。
【问题讨论】:
-
假设你有 [1,2,3,4] 得到 12,21,34,43 合法吗?
-
这不会发生,因为您可以看到我使用 $xcount 变量将值从 1 设置为数组的大小。所以它会出现 1, 2, 3, 4, 5 ... 等。
-
那么,请在问题示例中添加输入输出数据。