Maison > développement back-end > Problème PHP > php supprime les valeurs du tableau à deux dimensions

php supprime les valeurs du tableau à deux dimensions

WBOY
Libérer: 2023-05-11 10:14:36
original
526 Les gens l'ont consulté

En PHP, les tableaux sont un type de données fréquemment utilisé et les tableaux bidimensionnels sont plus courants. Un tableau bidimensionnel peut être compris comme un tableau contenant d'autres tableaux, c'est-à-dire que chaque élément d'un tableau est un tableau. Dans certains cas, nous devons supprimer un élément d'un tableau à deux dimensions ou filtrer certaines valeurs. Cet article explique comment supprimer des valeurs d'un tableau à deux dimensions.

Examinons d'abord un simple tableau bidimensionnel. Supposons qu'il s'agisse d'une liste d'élèves, qui contient le nom et l'âge de chaque élève :

$students = array(
    array("name" => "张三", "age" => 20),
    array("name" => "李四", "age" => 21),
    array("name" => "王五", "age" => 22),
    array("name" => "赵六", "age" => 23)
);
Copier après la connexion

Maintenant, nous devons le faire. changez l'âge en L'étudiant de 22 ans a été supprimé de la liste. Ceci peut être réalisé en parcourant le tableau :

foreach ($students as $key => $student) {
    if ($student["age"] == 22) {
        unset($students[$key]);
    }
}
Copier après la connexion

La boucle foreach est utilisée ici pour parcourir les informations de chaque élève. Si l'âge de l'élève est égal à 22 ans, utilisez. < La fonction code>unset supprime l'élève du tableau. foreach循环来遍历每个学生的信息,如果学生的年龄等于22岁,就使用unset函数将该学生从数组中删除。

在这个例子中,我们使用了$key变量来记录当前学生的索引,然后使用unset函数将该索引对应的学生删除。需要注意的是,在删除数组元素时,数组的索引值并不会按照顺序重新排序,因此最好使用foreach循环来遍历数组。

除了使用unset函数,还可以使用PHP内置的array_filter函数来过滤数组中的值,例如,我们可以使用下面的代码过滤掉所有年龄为22岁的学生:

$students = array_filter($students, function($student) {
    return $student["age"] != 22;
});
Copier après la connexion

这里使用了一个匿名函数作为array_filter函数的第二个参数,该函数接收一个学生数据,并根据学生的年龄进行过滤。如果学生的年龄不等于22岁,就返回true,否则返回falsearray_filter函数会将返回值为true的元素保留下来,返回值为false的元素被过滤掉。

除了使用array_filter函数,还可以使用array_reduce函数来实现过滤功能。array_reduce函数接收三个参数:要处理的数组、一个回调函数和初始值。回调函数接收两个参数:每个数组元素和上一次回调的结果,然后返回下一次回调的结果。例如,下面的代码使用array_reduce函数过滤年龄为22岁的学生:

$students = array_reduce($students, function($result, $student) {
    if ($student["age"] != 22) {
        $result[] = $student;
    }
    return $result;
}, array());
Copier après la connexion

这里使用了一个匿名函数作为回调函数,该函数首先判断学生的年龄是否等于22岁,如果不等于,则将该学生添加到结果数组中,最后返回结果数组。array_reduce

Dans cet exemple, nous utilisons la variable $key pour enregistrer l'index de l'étudiant actuel, puis utilisons la fonction unset pour désactiver le élève correspondant à la suppression de l'index. Il convient de noter que lors de la suppression d'éléments du tableau, les valeurs d'index du tableau ne sont pas réorganisées dans l'ordre, il est donc préférable d'utiliser une boucle foreach pour parcourir le tableau.

En plus d'utiliser la fonction unset, vous pouvez également utiliser la fonction array_filter intégrée de PHP pour filtrer les valeurs du tableau. Par exemple, nous pouvons utiliser le code suivant Filtrer tous les étudiants de 22 ans : #🎜🎜#rrreee#🎜🎜# Une fonction anonyme est utilisée ici comme deuxième paramètre de la fonction array_filter, qui reçoit les données d'un étudiant et est basé sur un filtre par âge de l'étudiant. Si l'âge de l'élève n'est pas égal à 22 ans, il renvoie true, sinon il renvoie false, et la fonction array_filter renverra la valeur car les éléments true sont conservés et les éléments avec une valeur de retour de false sont filtrés. #🎜🎜##🎜🎜#En plus d'utiliser la fonction array_filter, vous pouvez également utiliser la fonction array_reduce pour implémenter la fonction de filtrage. La fonction array_reduce reçoit trois paramètres : le tableau à traiter, une fonction de rappel et la valeur initiale. La fonction de rappel reçoit deux paramètres : chaque élément du tableau et le résultat du rappel précédent, puis renvoie le résultat du rappel suivant. Par exemple, le code suivant utilise la fonction array_reduce pour filtrer les étudiants de 22 ans : #🎜🎜#rrreee#🎜🎜# Une fonction anonyme est utilisée ici comme fonction de rappel, qui détermine d'abord si l'âge de l'étudiant est égal à 22 ans, s'il n'est pas égal, l'étudiant est ajouté au tableau de résultats, et enfin le tableau de résultats est renvoyé. La fonction array_reduce transmet les données de chaque étudiant à la fonction de rappel pour traitement et renvoie enfin le tableau de résultats filtré. #🎜🎜##🎜🎜#En bref, PHP fournit de nombreuses méthodes pour traiter les tableaux, notamment la suppression d'éléments du tableau ou le filtrage de certaines valeurs. En plus des méthodes mentionnées ci-dessus, de nombreuses autres fonctions intégrées à PHP peuvent être utilisées. Pour différents scénarios et besoins, différentes méthodes peuvent être sélectionnées en fonction de la situation réelle. #🎜🎜#

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.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal