How to Efficiently Verify Integer-Only Arrays in PHP?

Linda Hamilton
Release: 2024-10-17 14:00:05
Original
427 people have browsed it

How to Efficiently Verify Integer-Only Arrays in PHP?

Verifying Integer-Only Arrays with PHP

One way to check if an array exclusively contains integers is through manual iteration and the is_int() function. However, a more efficient approach utilizes native PHP functionality:

Using array_filter()

array_filter() maintains elements of an array that meet a specified condition. Applying it with is_int() as the predicate directly yields a filtered array:

<code class="php">$only_integers = array_filter($only_integers, 'is_int'); // true
$letters_and_numbers = array_filter($letters_and_numbers, 'is_int'); // false</code>
Copy after login

Employing Reusable Helper Functions

This approach can be augmented with reusable helper functions:

<code class="php">/**
 * Verify all elements of an array satisfy a given predicate.
 *
 * @param array $elems Array to evaluate
 * @param callable $predicate Predicate to apply
 * @return bool TRUE if all elements pass, FALSE otherwise
 */
function all($elems, $predicate) {
  foreach ($elems as $elem) {
    if (!call_user_func($predicate, $elem)) {
      return false;
    }
  }

  return true;
}

/**
 * Verify any element of an array satisfies a given predicate.
 *
 * @param array $elems Array to evaluate
 * @param callable $predicate Predicate to apply
 * @return bool TRUE if any element passes, FALSE otherwise
 */
function any($elems, $predicate) {
  foreach ($elems as $elem) {
    if (call_user_func($predicate, $elem)) {
      return true;
    }
  }

  return false;
}</code>
Copy after login

By employing these helper functions, the original code can be simplified:

<code class="php">$has_only_ints = all($only_integers, 'is_int'); // true
$has_only_ints = all($letters_and_numbers, 'is_int'); // false</code>
Copy after login

The above is the detailed content of How to Efficiently Verify Integer-Only Arrays in PHP?. For more information, please follow other related articles on the PHP Chinese website!

source:php
Statement of this Website
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
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template