使用本机 PHP 函数优化数组整数验证
验证数组是否仅包含整数是一项常见任务。虽然迭代数组并检查每个元素的类型可能是一种简单的方法,但 PHP 提供了更简洁的替代方案。
其中一个解决方案利用 array_filter 函数,该函数将数组和评估函数作为参数。在我们的例子中,我们传递 is_int 作为评估函数。如果传递给 is_int 时数组的所有元素都返回 true,则意味着该数组仅包含整数。相反,如果任何元素返回 false,则确认非数字数据的存在。
<code class="php">$only_integers === array_filter($only_integers, 'is_int'); // true $letters_and_numbers === array_filter($letters_and_numbers, 'is_int'); // false</code>
为了进一步简化此过程,我们可以定义两个辅助函数:all 和 any。 all 检查数组中的所有元素是否满足给定的谓词,而any 则验证是否有任何元素满足条件。
<code class="php">function all($elems, $predicate) { foreach ($elems as $elem) { if (!call_user_func($predicate, $elem)) { return false; } } return true; } function any($elems, $predicate) { foreach ($elems as $elem) { if (call_user_func($predicate, $elem)) { return true; } } return false; }</code>
通过利用any 和is_int,我们可以简洁地表达整数验证逻辑:
<code class="php">any($array, 'is_int');</code>
如果结果为true,则表示数组中至少包含一个非整数元素;否则,它确认所有元素都是整数。
以上是如何使用 PHP 原生函数快速验证数组整数组成?的详细内容。更多信息请关注PHP中文网其他相关文章!