编程语言
首页 > 编程语言> > 循环中有一个值不存在,直接返回false怎么写?

循环中有一个值不存在,直接返回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

说明

  1. 参数说明:

    • $array: 被检查的数组。
    • $checkValues: 要检查的值的数组。
  2. in_array 函数: 这个 PHP 函数用于检查一个值是否存在于数组中。第三个参数设置为 true 表示进行严格类型检查。

  3. 类型检查: 该函数开始时会检查两个输入是否都是数组。如果不是,则抛出 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

标签:
来源: