Maison > développement back-end > tutoriel php > Comment vérifier efficacement les tableaux contenant uniquement des nombres entiers en PHP ?

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

Linda Hamilton
Libérer: 2024-10-17 14:00:05
original
472 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!

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