gpt4 book ai didi

PHP - 检查在给定数量的条件下是否有多个条件为真

转载 作者:可可西里 更新时间:2023-11-01 13:37:34 24 4
gpt4 key购买 nike

是否有一种优雅的方法来检查在给定数量的条件中是否有多个(但不是全部)条件为真?

例如,我有三个变量:$a、$b 和 $c。我想检查其中任何两个是否为真。所以以下将通过:

$a = true;
$b = false;
$c = true;

但这不会:

$a = false;
$b = false;
$c = true;

另外,例如,我可能想检查 7 个条件中的 4 个是否为真。

我知道我可以检查每个组合,但随着条件数量的增加,这会变得更加困难。遍历条件并保持计数是我能想到的最佳选择,但我认为可能有不同的方法来做到这一点。

谢谢!

编辑:感谢所有出色的回答,非常感谢。顺便说一下,如果变量不是显式 bool 值怎么办?例如

($a == 2)
($b != "cheese")
($c !== false)
($d instanceof SomeClass)

最佳答案

A "true" boolean in PHP casts to a 1 as an integer, and "false" casts to 0 .因此:

echo $a + $b +$c;

...如果三个 bool 变量 $a$b$c 中有两个为真,则输出 2。 (添加值将隐式地将它们转换为整数。)

这也适用于 array_sum() 等函数,例如:

echo array_sum([true == false, 'cheese' == 'cheese', 5 == 5, 'moon' == 'green cheese']);

...将输出 2。

关于PHP - 检查在给定数量的条件下是否有多个条件为真,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40017345/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com