En PHP, les tableaux sont un type de données très couramment utilisé, et le besoin d'opérer sur des tableaux est également très fréquent. Parmi eux, la suppression d'éléments de tableau est une opération courante. Cet article abordera les connaissances et compétences pertinentes en matière de suppression d'éléments de tableau en PHP.
1. Utilisez la fonction unset() pour supprimer des éléments du tableau
PHP fournit la fonction unset() pour supprimer des éléments du tableau. Cette fonction prend en charge la suppression d'éléments uniques ou multiples. Par exemple, nous avons un tableau nommé $arr, et nous pouvons utiliser la fonction unset() pour supprimer l'un de ses éléments :
$arr = array('a', 'b', 'c', 'd'); // 定义数组 unset($arr[1]); // 删除 $arr[1] 元素
Une fois le code ci-dessus exécuté, l'élément 'b' du tableau $arr sera supprimé .
Si nous devons supprimer plusieurs éléments, nous pouvons transmettre l'index de plusieurs éléments dans la fonction unset() :
$arr = array('a', 'b', 'c', 'd'); // 定义数组 unset($arr[1], $arr[3]); // 删除 $arr[1] 和 $arr[3] 元素
Une fois le code ci-dessus exécuté, les éléments 'b' et 'd' du tableau $arr sera supprimé.
Il convient de noter que l'utilisation de la fonction unset() pour supprimer un élément du tableau marque uniquement la valeur de l'élément comme indéfinie, c'est-à-dire que l'élément n'est pas supprimé du tableau. Par conséquent, après la suppression d'un élément, l'index du tableau ne sera ni réorganisé ni déplacé, mais la position d'origine de l'index sera conservée. C'est également la plus grande différence avec la fonction unset().
2. Utilisez la fonction array_splice() pour supprimer des éléments d'un tableau
Une autre façon de supprimer des éléments d'un tableau en PHP consiste à utiliser la fonction array_splice(). Cette fonction supprimera l'élément spécifié du tableau et renverra le nouveau tableau supprimé. d'éléments. Par exemple, nous avons le tableau suivant :
$arr = array('a', 'b', 'c', 'd');
Si nous devons supprimer le deuxième élément 'b', nous pouvons utiliser le code suivant :
$new_arr = array_splice($arr, 1, 1);
Dans le code ci-dessus, $arr est le tableau d'origine dont nous avons besoin pour fonctionner, et le deuxième paramètre 1 est la position d'index de l'élément qui doit être supprimé, et le troisième paramètre 1 est le nombre d'éléments qui doivent être supprimés.
Après avoir exécuté le code ci-dessus, le tableau d'origine $arr deviendra ['a', 'c', 'd'] et le nouveau tableau $new_arr contiendra l'élément supprimé 'b', c'est-à-dire $new_arr = ['b'].
Il est à noter que contrairement à la fonction unset(), la fonction array_splice() réorganisera les index des éléments restants pour combler les vides laissés après les éléments supprimés. Par exemple, nous supprimons les éléments 'b' et 'd' dans le tableau $arr, le code est le suivant :
$new_arr = array_splice($arr, 1, 2);
Après avoir exécuté le code ci-dessus, le tableau $arr deviendra ['a', 'c'] , et le nouveau tableau $new_arr est ['b', 'd'].
3. Utilisez la fonction array_diff() pour supprimer des éléments du tableau
En plus des deux méthodes ci-dessus, il existe une autre méthode en PHP pour utiliser la fonction array_diff() pour supprimer des éléments du tableau. Cette fonction peut être utilisée pour comparer deux tableaux et renvoyer un nouveau tableau composé d'éléments contenus dans le premier tableau mais pas dans l'autre tableau. Par exemple :
$arr = array('a', 'b', 'c', 'd'); $remove = array('b', 'd'); $new_arr = array_diff($arr, $remove);
Dans le code ci-dessus, $arr est le tableau d'origine que nous devons utiliser, le tableau $remove est l'élément qui doit être supprimé du tableau $arr et la valeur de $new_arr est incluse dans $ arr mais non inclus dans $ Elements in delete, c'est-à-dire $new_arr = ['a', 'c'].
Il convient de noter que l'utilisation de la fonction array_diff() pour supprimer des éléments du tableau ne supprime pas directement les éléments, mais copie les éléments qui remplissent les conditions dans un nouveau tableau, de sorte que le tableau d'origine ne sera pas affecté. Dans le même temps, vous pouvez également supprimer plusieurs éléments en utilisant cette méthode. Il vous suffit de transmettre les éléments à supprimer dans un tableau et de les transmettre au deuxième paramètre.
4. Supprimer des éléments de tableaux multidimensionnels
Les méthodes ci-dessus peuvent être utilisées pour supprimer des éléments dans des tableaux unidimensionnels, mais pour les tableaux multidimensionnels, nous devons utiliser des techniques spéciales pour supprimer des éléments.
Si nous voulons supprimer un élément spécifié dans un tableau multidimensionnel, nous pouvons utiliser deux boucles pour parcourir le tableau, trouver l'élément qui doit être supprimé et utiliser la fonction unset() pour le supprimer, par exemple :
$arr = array( array('a', 'b', 'c'), array('d', 'e', 'f'), array('g', 'h', 'i') ); $remove_value = 'b'; foreach ($arr as $key1 => &$value1) { foreach ($value1 as $key2 => &$value2) { if ($value2 === $remove_value) { unset($value1[$key2]); } } }
Dans le code ci-dessus, nous parcourons Get chaque élément du tableau $arr, utilisons les variables $key1 et $key2 pour enregistrer l'index actuel du tableau, comparons chaque élément avec l'élément qui doit être supprimé, trouvons l'élément qui a besoin à supprimer et utilisez la fonction unset() pour le supprimer.
Il convient de noter que pour pouvoir supprimer des éléments dans un tableau multidimensionnel, nous devons utiliser le passage de références pour faire fonctionner les éléments du tableau. Si vous utilisez simplement une boucle foreach, la modification des éléments du tableau à l'intérieur de la boucle échouera.
Résumé
La suppression d'éléments de tableau est une opération courante en PHP. Cet article présente les méthodes et techniques de suppression d'éléments de tableau sous trois aspects : la fonction unset(), la fonction array_splice() et la fonction array_diff(), et utilise le multidimensionnel. tableaux L'exemple montre comment supprimer des éléments d'un tableau multidimensionnel. En maîtrisant ces connaissances et compétences, nous pouvons exploiter les tableaux de manière plus flexible et améliorer l'efficacité de l'écriture du code.
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!