Original Question: How to determine if an array contains only integers?
Native PHP Solution:
The array function provides a more concise method to achieve this:
<code class="php">$only_integers === array_filter($only_integers, 'is_int'); // true $letters_and_numbers === array_filter($letters_and_numbers, 'is_int'); // false</code>
This approach utilizes the array_filter() function to create a new array containing only elements that satisfy the is_int() condition. By comparing the original and filtered arrays, we can determine if the original array contained only integers.
Higher-Order Function Helpers:
To enhance flexibility, consider defining helper functions:
<code class="php">function all($elems, $predicate) { return !any($elems, $predicate); // true if all validate } function any($elems, $predicate) { foreach ($elems as $elem) { if (call_user_func($predicate, $elem)) { return true; // true if any validate } } return false; }</code>
Now, you can use these functions for more complex scenarios:
<code class="php">all([1, 2, 3], 'is_int'); // true any([1, 'a', 'b'], 'is_int'); // true</code>
This solution provides a concise and flexible way to verify integer arrays in PHP, catering to various use cases.
The above is the detailed content of How to Quickly Determine if an Array in PHP Consists Exclusively of Integers?. For more information, please follow other related articles on the PHP Chinese website!