Maison >développement back-end >Problème PHP >Conditions d'interrogation dans un tableau php

Conditions d'interrogation dans un tableau php

王林
王林original
2023-05-19 18:54:39674parcourir

PHP est un langage de script côté serveur largement utilisé pour écrire des applications Web dynamiques. L'un des types de données couramment utilisés est un tableau, qui est une structure de données utilisée pour stocker des valeurs similaires.

En PHP, interroger les éléments d'un tableau qui remplissent des conditions est une tâche courante. Cet article explorera comment interroger des éléments qui répondent aux critères d'un tableau en PHP et fournira quelques exemples pratiques.

  1. Utilisez une requête en boucle

Le moyen le plus simple est d'utiliser une boucle pour parcourir l'ensemble du tableau et vérifier si chaque élément répond aux critères. Voici un exemple d'interrogation de tous les nombres pairs d'un tableau :

$numbers = array(1,2,3,4,5,6);
$even_numbers = array();
foreach($numbers as $number){
    if($number % 2 == 0){
        $even_numbers[] = $number;
    }
}
print_r($even_numbers);

Cela affichera le tableau [2, 4, 6] car le code ci-dessus n'ajoute que des nombres pairs au tableau $even_numbers.

Si vous souhaitez trouver d'autres conditions, telles que tous les éléments supérieurs à 10 dans le tableau, modifiez simplement l'instruction conditionnelle :

$numbers = array(9, 11, 15, 13, 7, 12);
$large_numbers = array();
foreach($numbers as $number){
    if($number > 10){
        $large_numbers[] = $number;
    }
}
print_r($large_numbers);

Cela affichera le tableau [11, 15, 13 , 12], car le code ci-dessus n'ajoute que des nombres supérieurs à 10.

La méthode de la boucle est simple et facile à comprendre, mais cela peut prendre beaucoup de temps si le tableau est grand. Voici une autre méthode plus rapide.

  1. Utilisez la fonction array_filter

Grâce à la fonction array_filter de PHP, vous pouvez filtrer les éléments du tableau et renvoyer uniquement ceux qui correspondent aux éléments de la condition. Voici un exemple qui renvoie tous les éléments d'un tableau supérieurs à 10 : array_filter 函数,可以过滤数组中的元素,只返回符合条件的元素。下面是一个例子,返回数组中所有大于 10 的元素:

$numbers = array(9, 11, 15, 13, 7, 12);
$filtered_numbers = array_filter($numbers, function($number){
    return $number > 10;
});
print_r($filtered_numbers);

这段代码将输出与上一个示例相同的数组 [11, 15, 13, 12]。

如果要使用其他条件,只需修改回调函数即可:

$numbers = array(1,2,3,4,5,6);
$filtered_numbers = array_filter($numbers, function($number){
    return $number % 2 == 0;
});
print_r($filtered_numbers);

这将输出与第一个示例相同的数组 [2, 4, 6]。

值得注意的是,array_filter 函数使用回调函数,可以让你自定义过滤条件。它甚至也可以用于多维数组。

  1. 使用 array_reduce 函数

PHP 的 array_reduce 函数将会执行一个给定的回调函数来处理数组中的每个元素。通常,它被用来将数组转换成单个值,但是也可以用于过滤数组数据。下面是一个例子,它使用 array_reduce 函数返回所有大于 10 的元素的累加和:

$numbers = [9, 11, 15, 13, 7, 12];
$sum = array_reduce($numbers, function($carry, $number){
    if($number > 10){
        return $carry + $number;
    }
    return $carry;
});
print_r($sum);

这段代码将输出 51,因为只有 11, 15,13, 12 这四个数字大于 10。

array_reduce 函数也具有灵活性,可以用于任何函数。

结论

在PHP中,查询数组元素的方法有很多种。实际上,还有许多其他方法来解决这个问题。本文介绍的是三种主要的方法:使用循环,使用 array_filter 函数和使用 array_reduce 函数。

循环是一种简单而直接的方法。这种方法最灵活,但如果数组很大,它可能会花费更长的时间。

array_filter 函数可以让你轻松地定义需要查找的条件并返回符合条件的元素。 它也可以用于处理多维数组和其他特殊情况。

array_reducerrreee

Ce code affichera le même tableau que l'exemple précédent [11, 15, 13, 12].

Si vous souhaitez utiliser d'autres conditions, modifiez simplement la fonction de rappel : #🎜🎜#rrreee#🎜🎜#Cela affichera le même tableau [2, 4, 6] que le premier exemple. #🎜🎜##🎜🎜#Il est à noter que la fonction array_filter utilise une fonction de rappel qui permet de personnaliser les conditions de filtrage. Cela fonctionne même avec des tableaux multidimensionnels. #🎜🎜#
    #🎜🎜#Utilisez la fonction array_reduce #🎜🎜##🎜🎜##🎜🎜#La fonction array_reduce de PHP exécutera une fonction de rappel donnée à traiter chaque élément du tableau. Généralement, il est utilisé pour convertir un tableau en une valeur unique, mais peut également être utilisé pour filtrer les données du tableau. Voici un exemple qui utilise la fonction array_reduce pour renvoyer la somme cumulée de tous les éléments supérieurs à 10 : #🎜🎜#rrreee#🎜🎜#Ce code affichera 51 car Seuls les quatre nombres 11, 15,13, ​​​​​​12 sont supérieurs à 10. #🎜🎜##🎜🎜# La fonction array_reduce est également flexible et peut être utilisée avec n'importe quelle fonction. #🎜🎜##🎜🎜#Conclusion#🎜🎜##🎜🎜#En PHP, il existe de nombreuses façons d'interroger les éléments d'un tableau. En fait, il existe de nombreuses autres façons de résoudre ce problème. Cet article décrit trois méthodes principales : utiliser une boucle, utiliser la fonction array_filter et utiliser la fonction array_reduce. #🎜🎜##🎜🎜#Le Looping est une méthode simple et directe. Cette méthode est la plus flexible, mais elle peut prendre plus de temps si le tableau est grand. #🎜🎜##🎜🎜# La fonction array_filter vous permet de définir facilement les conditions dont vous avez besoin pour rechercher et renvoyer les éléments qui remplissent les conditions. Il peut également être utilisé pour gérer des tableaux multidimensionnels et d’autres cas particuliers. #🎜🎜##🎜🎜# La fonction array_reduce peut être utilisée pour tout type de tableau et est très flexible. Il est généralement utilisé pour convertir un tableau en une seule valeur. #🎜🎜##🎜🎜#Avant d'utiliser ces méthodes, assurez-vous de bien comprendre leurs avantages et inconvénients afin de pouvoir choisir la bonne méthode dans différentes situations. #🎜🎜#

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:
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