&$v){if($v==="string"){unset($arr[$k] }}"."/> &$v){if($v==="string"){unset($arr[$k] }}".">

Maison  >  Article  >  développement back-end  >  Comment supprimer une certaine chaîne d'un tableau php

Comment supprimer une certaine chaîne d'un tableau php

青灯夜游
青灯夜游original
2022-08-26 20:22:421846parcourir

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 ]) ;}}".

Comment supprimer une certaine chaîne d'un tableau php

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 :
  • true
  • false - par défaut
S'il est défini sur true, le type de la valeur donnée dans le tableau est vérifié, le nombre 5 et la chaîne 5 sont différents (voir exemple 2).
<?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 "指定字符串&#39;12&#39;的键名为:".$key;

?>

Comment supprimer une certaine chaîne dun tableau php

É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 "指定字符串&#39;12&#39;的键名为:".$key;


array_splice($arr,$key,1);
echo "<br><br>删除指定字符串&#39;12&#39;后:";
var_dump($arr); 
?>

Comment supprimer une certaine chaîne dun tableau php

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>删除指定字符串&#39;25&#39;后:";
var_dump($arr); 
?>

Comment supprimer une certaine chaîne dun tableau php

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); // 最后取消掉引用

Comment supprimer une certaine chaîne dun tableau php

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!

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