插件窝 干货文章 PHP数组大小比较及区间校验:如何验证一维数组元素是否都在二维数组区间之外?

PHP数组大小比较及区间校验:如何验证一维数组元素是否都在二维数组区间之外?

区间 数组 元素 二维 427    来源:    2025-03-16

在PHP中,你可以通过遍历一维数组的每个元素,并检查它们是否都在二维数组的区间之外。假设二维数组的每个子数组都包含两个元素,表示一个区间(例如 [min, max]),你可以使用以下步骤来实现这个功能:

  1. 遍历一维数组的每个元素。
  2. 对于每个元素,遍历二维数组的每个区间。
  3. 检查该元素是否在任何区间内。
  4. 如果所有元素都不在任何区间内,则返回 true,否则返回 false

以下是一个示例代码:

function isOutsideIntervals($array, $intervals) {
    foreach ($array as $value) {
        foreach ($intervals as $interval) {
            if ($value >= $interval[0] && $value <= $interval[1]) {
                // 如果元素在任何一个区间内,返回 false
                return false;
            }
        }
    }
    // 如果所有元素都不在任何区间内,返回 true
    return true;
}

// 示例数据
$array = [1, 5, 10];
$intervals = [
    [2, 4],
    [6, 8],
    [11, 15]
];

// 调用函数
$result = isOutsideIntervals($array, $intervals);

if ($result) {
    echo "所有元素都在区间之外。";
} else {
    echo "至少有一个元素在区间之内。";
}

代码解释:

  • $array 是一维数组,包含需要检查的元素。
  • $intervals 是二维数组,每个子数组表示一个区间。
  • isOutsideIntervals 函数遍历一维数组的每个元素,并检查它们是否在二维数组的任何区间内。
  • 如果发现某个元素在任何一个区间内,函数立即返回 false
  • 如果所有元素都不在任何区间内,函数返回 true

示例输出:

对于给定的示例数据,输出将是:

所有元素都在区间之外。

你可以根据需要调整数组和区间的值来测试不同的情况。