我有一个包含的数组
"1", "2", "3", "4"
我使用 array_rand 随机选择其中一个数字五次。然后我想计算 array_rand
的结果中有多少被选择了多次,例如数字 2 被选择了 2 次,数字 3 被选择了 2 次。
我已经测试过这样做
$array = array($kort1[$rand_kort1[0]], $kort1[$rand_kort2[0]], $kort1[$rand_kort3[0]], $kort1[$rand_kort4[0]], $kort1[$rand_kort5[0]]);
$bank = array_count_values($array);
if (in_array("2", $bank)) {
echo "You got one pair";
} elseif(in_array("2", $bank) && (???)) {
echo "You got two pair";
}
如果其中一个数字被随机选择两次,它会告诉我“你有一对”,但我的问题是,如果选择了其中两个数字,我不知道如何让它说“你有两对” 2次。
$bank
的结果可能是
[4] => 1 [3] => 2 [1] => 2
最佳答案
试试这个:(即使你的数组有超过 4 个值,这也会起作用)
$count = 0;
foreach ($bank as $key=>$value) {
if ($value === 2) {
$count++;
}
}
if ($count) {
$s = $count > 1 ? 's' : '';
echo "You got $count pair$s";
}
它将显示类似 You got 1pair
的输出。如果您想使用单词(就像您在问题中提到的那样),您可以使用 NumberFormatter class
关于php - 搜索数组中的多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47707121/