我的array_rand有问题。所以,我有一个像这样的.yml:
discover:
first:
image: test1.jpg
second:
image: test2.jpg
third:
image: test3.jpg
现在在php中我使用array_rand获取此图像:
$firstKey = array_rand($aArray, 1);
$secondKey = array_rand($aArray, 1);
其中$ aArray它是一个包含.yml数组的数组。 $ firstKey和$ secondKey相等时的问题。在创建第二个array_rand之前,这是删除$ firstKey选择的密钥的方法吗? 我尝试了未设置:
unset($aArray['first']);
但没有结果。 请帮帮我。 Thx提前。
答案 0 :(得分:4)
如果您不想在两个单独的array_rand
调用中获取重复键,则只需在一次调用中获取两个键:
$keys = array_rand($aArray, 2);
或者:
list($firstKey, $secondKey) = array_rand($aArray, 2);
摘自manual:
<强>参数强>
阵列
输入数组。
NUM
指定应选择的条目数。
返回值
当只选择一个条目时,
array_rand()
会返回随机条目的密钥。否则,返回随机条目的键数组。这样做是为了可以从数组中选择随机键以及随机值。尝试选择比数组中更多的元素将导致E_WARNING
级别错误,并且将返回NULL
。
答案 1 :(得分:0)
尝试以下内容:
$firstKey = array_rand($aArray, 1);
unset($aArray(array_keys($firstKey)[0]));
$secondKey = array_rand($aArray, 1);