php - 搜索数组中的多个值

标签 php arrays if-statement

我有一个包含的数组

"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/

相关文章:

if-statement - 在 Haxe 的 if 语句中使用对象的存在

php - 如果我的网站被盗,通知我的代码

php - Laravel DB::RAW() NOT IN 不工作

php - 使用 IF 语句映射 Woocommerce 订单状态

jQuery - 数组元素上的迭代 + addClass

arrays - 如何制作一个函数,将协议(protocol)中定义的任何函数作为其参数?

jquery - 改变 CSS pending if else of class

php - 在 Code Igniter Rest 服务器上加载语言时出错

php - 如何根据单击的按钮重用受影响的不同行的 SQL 查询

javascript - 如何用http请求的响应填充数组?