Deux méthodes : 1. Utilisez array_search() et array_splice() pour supprimer, la syntaxe est "array_splice($arr,array_search("string",$arr,true),1);". 2. Utilisez l'instruction foreach et unset() pour supprimer la syntaxe "foreach($arr as $k=>&$v){if($v==="string"){unset($arr[$k ]) ;}}".
L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 8.1, ordinateur DELL G3
Méthode 1 : Utiliser array_search()+array_splice()
Étape 1 : Utiliser array_search( ) fonction Recherchez la chaîne spécifiée dans le tableau et renvoyez le nom de clé correspondant
array_search(value,array,strict)
paramètre | description |
---|---|
valeur | Obligatoire. Spécifie la valeur de clé à rechercher dans le tableau. |
tableau | Obligatoire. Spécifie le tableau à rechercher. |
strict | Facultatif. Si ce paramètre est défini sur TRUE, la fonction recherche dans le tableau des éléments du même type de données et de la même valeur. Valeurs possibles :
|
<?php header("Content-type:text/html;charset=utf-8"); $arr = array(10,"12",12,25,24); echo "原数组:"; var_dump($arr); $key=array_search("12",$arr,true); echo "指定字符串'12'的键名为:".$key; ?>
Étape 2 : Utilisez la fonction array_splice() pour supprimer l'élément en fonction du nom de clé obtenu
La fonction array_splice() supprime l'élément sélectionné du tableau (vous pouvez également le remplacer par un nouvel élément) .
array_splice(array1,start,length,array2)
Paramètres | Description |
---|---|
array1 | Obligatoire. Spécifie un tableau. |
start | Obligatoire. valeur numérique. Spécifie la position de départ des éléments supprimés.
0 = premier élément.
Si la valeur est définie sur un nombre positif, la suppression commence au décalage spécifié par la valeur dans le tableau. Si la valeur est définie sur un nombre négatif, la suppression commence au décalage spécifié par la valeur à partir de la fin du tableau.
-2 signifie commencer de l'avant-dernier élément du tableau. |
longueur | facultatif. valeur numérique. Spécifie le nombre d'éléments à supprimer, qui correspond également à la longueur du tableau renvoyé.
Si la valeur est définie sur un nombre positif, ce nombre d'éléments est supprimé. Si cette valeur est définie sur un nombre négatif, tous les éléments du début à la longueur inverse de la fin du tableau sont supprimés. Si cette valeur n'est pas définie, tous les éléments de la position définie par le paramètre start jusqu'à la fin du tableau sont supprimés. |
array2 | facultatif. Spécifie le tableau avec les éléments à insérer dans le tableau d'origine. S'il n'y a qu'un seul élément, il peut être défini sur une chaîne et n'a pas besoin d'être défini sur un tableau. |
Description : Cette fonction modifiera le tableau d'origine
<?php header("Content-type:text/html;charset=utf-8"); $arr = array(10,"12",12,25,24); echo "原数组:"; var_dump($arr); $key=array_search("12",$arr,true); echo "指定字符串'12'的键名为:".$key; array_splice($arr,$key,1); echo "<br><br>删除指定字符串'12'后:"; var_dump($arr); ?>
Méthode 2 : Utilisez l'instruction foreach + la fonction unset()
Étape 1 : Utilisez l'instruction foreach pour parcourir le tableau via la référence loop
foreach ($array as $key => &$value){ //循环体语句块; }
Parcourt le tableau $array donné, et dans chaque boucle, la valeur du tableau actuel est affectée à $value et le nom de la clé est attribué à $key.
Généralement, lorsque vous utilisez l'instruction foreach pour parcourir un tableau, elle opère sur la sauvegarde du tableau et n'affecte généralement pas le tableau lui-même.
Si vous souhaitez modifier le tableau via une boucle, vous pouvez utiliser une boucle de référence (ajouter & avant $value, afin que l'instruction foreach attribue la valeur par référence au lieu de copier une valeur puis d'opérer sur le tableau dans). le corps de la boucle affectera le tableau lui-même.
Étape 2 : Dans le corps de la boucle, utilisez l'opérateur "===" pour trouver la chaîne spécifiée et utilisez la fonction unset() pour supprimer l'élément
if($value==="指定字符串"){ unset($arr[$key]); }
L'exemple de code complet :
<?php header("Content-type:text/html;charset=utf-8"); $arr = array(10,"25",12,25,"24"); echo "原数组:"; var_dump($arr); foreach ($arr as $key => &$value){ if($value==="25"){ unset($arr[$key]); } } echo "<br>删除指定字符串'25'后:"; var_dump($arr); ?>
peut être vu, il y a un & avant le dernier élément, c'est parce que la référence $value du dernier élément du tableau sera toujours conservée après la boucle foreach. Nous devons utiliser unset() pour le détruire.
unset($value); // 最后取消掉引用
Apprentissage recommandé : "Tutoriel vidéo PHP"
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!