Comment vérifier efficacement les tableaux contenant uniquement des nombres entiers en PHP ?

Linda Hamilton
Libérer: 2024-10-17 14:00:05
original
425 Les gens l'ont consulté

How to Efficiently Verify Integer-Only Arrays in PHP?

Vérification des tableaux contenant uniquement des entiers avec PHP

Une façon de vérifier si un tableau contient exclusivement des entiers consiste à effectuer une itération manuelle et la fonction is_int(). Cependant, une approche plus efficace utilise la fonctionnalité PHP native :

Utilisation de array_filter()

array_filter() conserve les éléments d'un tableau qui répondent à une condition spécifiée. L'appliquer avec is_int() comme prédicat produit directement un tableau filtré :

<code class="php">$only_integers = array_filter($only_integers, 'is_int'); // true
$letters_and_numbers = array_filter($letters_and_numbers, 'is_int'); // false</code>
Copier après la connexion

Emploi de fonctions d'assistance réutilisables

Cette approche peut être complétée par des fonctions d'assistance réutilisables :

<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>
Copier après la connexion

En employant ces fonctions d'assistance, le code original peut être simplifié :

<code class="php">$has_only_ints = all($only_integers, 'is_int'); // true
$has_only_ints = all($letters_and_numbers, 'is_int'); // false</code>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal