给定下面的值数组,确定该数组是否包含值 4 以外的值的最佳方法是什么?
$values = [1,2,3,4,5,6];
Run Code Online (Sandbox Code Playgroud)
为了清楚起见,我不想检查 4 是否根本不存在,因为 4 仍然允许存在于数组中。我想检查是否存在其他数字。
我能想到的唯一方法是使用函数,如下所示:
function checkOtherValuesExist(array $values, $search) {
foreach ($values as $value) {
if ($value !== $search)
return TRUE;
}
}
}
Run Code Online (Sandbox Code Playgroud)
简单地array_diff获取没有 4 的数组
$diff = array_diff($values, [4]);
if (!empty($diff)) {
echo "Array contains illegal values! "
. "Legal values: 4; Illegal values: " . implode(', ', $diff);
} else {
echo "All good!";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
765 次 |
| 最近记录: |