Home  >  Article  >  Backend Development  >  How to Quickly Determine if an Array in PHP Consists Exclusively of Integers?

How to Quickly Determine if an Array in PHP Consists Exclusively of Integers?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-17 13:57:02407browse

How to Quickly Determine if an Array in PHP Consists Exclusively of Integers?

More Concise way to Check for Integer Arrays

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn