循环中有一个值不存在,直接返回false怎么写?
作者:互联网
可以采用以下的方法。这里的“值不存在”可以理解为该值在数组中不被找到(即检查是否存在于数组中)。
示例代码
以下是更新的 checkArrayValues
方法,它将在循环中检查值的存在性:
private function checkArrayValues($array, $checkValues) {
// 检查输入是否为数组
if (!is_array($array) || !is_array($checkValues)) {
throw new InvalidArgumentException('Both inputs must be arrays.');
}
foreach ($checkValues as $valueToCheck) {
// 如果当前值不存在于数组中,返回 false
if (!in_array($valueToCheck, $array, true)) {
return false; // 当前值不存在,返回 false
}
}
return true; // 所有值都存在,返回 true
}
PHP
说明
-
参数说明:
$array
: 被检查的数组。$checkValues
: 要检查的值的数组。
-
in_array
函数: 这个 PHP 函数用于检查一个值是否存在于数组中。第三个参数设置为true
表示进行严格类型检查。 -
类型检查: 该函数开始时会检查两个输入是否都是数组。如果不是,则抛出
InvalidArgumentException
。
使用示例
您可以像下面这样调用 checkArrayValues
方法:
$array = ['value1', 'value2', 'value3'];
$checkValues1 = ['value1', 'value2']; // 所有值都存在
$checkValues2 = ['value1', 'value4']; // 'value4' 不存在
$checkValues3 = ['value1', 'value3', 'value2', 'value5']; // 'value5' 不存在
try {
var_dump($this->checkArrayValues($array, $checkValues1)); // 输出: true
var_dump($this->checkArrayValues($array, $checkValues2)); // 输出: false
var_dump($this->checkArrayValues($array, $checkValues3)); // 输出: false
} catch (InvalidArgumentException $e) {
echo "Error: " . $e->getMessage();
}
PHP
标签: 来源: