Maison  >  Article  >  développement back-end  >  Comment supprimer des éléments de tableau en fonction de la clé en php

Comment supprimer des éléments de tableau en fonction de la clé en php

青灯夜游
青灯夜游original
2021-02-26 15:44:282278parcourir

Comment supprimer des éléments d'un tableau en PHP en fonction de la clé : utilisez d'abord la fonction array_keys() et la fonction array_search() pour trouver la position de départ x de l'élément à supprimer en fonction de la clé, puis utilisez "array_splice ; (array, x, 1);" pour supprimer l'élément de tableau spécifié.

Comment supprimer des éléments de tableau en fonction de la clé en php

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 7.1, ordinateur DELL G3

Les éléments du tableau php existent par Méthode de paire clé-valeur (« clé » => « valeur »), nous devons parfois supprimer un élément spécifié dans le tableau en fonction de la clé.

<?php
function array_remove($arr, $key){
  if(!array_key_exists($key, $arr)){
    return $arr;
  }
  $keys = array_keys($arr);
  $index = array_search($key, $keys);
  if($index !== FALSE){
    array_splice($arr, $index, 1);
  }
  return $arr;
}
$data = array(&#39;name&#39;=>&#39;apple&#39;,&#39;age&#39;=>12,&#39;address&#39;=>&#39;ChinaGuangZhou&#39;);
$result = array_remove($data, &#39;age&#39;);
var_dump($result);
 ?>

Sortie :

array (size=2)
  &#39;name&#39; => string &#39;apple&#39; (length=5)
  &#39;address&#39; => string &#39;ChinaGuangZhou&#39; (length=14)

Instructions d'utilisation de la fonction :

1.array_search()

Définition et utilisation

La fonction array_search() est la même que in_array(), recherchant une valeur clé dans le tableau. Si la valeur est trouvée, la clé de l'élément correspondant est renvoyée. S'il n'est pas trouvé, renvoie false.

Avant PHP 4.2.0, les fonctions renvoyaient null au lieu de false en cas d'échec.

Si le troisième paramètre strict est spécifié comme vrai, le nom de clé de l'élément correspondant ne sera renvoyé que si le type de données et la valeur sont cohérents.

Syntaxe

array_search(value,array,strict)

Description du paramètre
valeur obligatoire. Spécifie la valeur à rechercher dans le tableau.
tableau Obligatoire. Le tableau à rechercher.
strict Facultatif. Valeurs possibles :
true
false Default
Si la valeur est définie sur true, le type de la valeur donnée sera également vérifié dans le tableau

[Apprentissage recommandé : " Tutoriel vidéo PHP》]

Exemple :

<?php
  $a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
  echo array_search("Dog",$a);
?>

2.array_splice()

Définition et utilisation

array_splice La fonction () est similaire à la fonction array_slice(), sélectionnant une série d'éléments dans le tableau, mais au lieu de les renvoyer, elle les supprime et les remplace par d'autres valeurs.

Si le quatrième argument est fourni, les éléments précédemment sélectionnés seront remplacés par le tableau spécifié par le quatrième argument.

Le dernier tableau généré sera renvoyé.

Syntaxe

array_splice(array,offset,length,array)

Description du paramètre
tableau obligatoire. Spécifie un tableau.
décalage requis. valeur numérique. Si le décalage est positif, la suppression commence au décalage spécifié par cette valeur dans le tableau d'entrée. Si le décalage est négatif, la suppression commence au décalage spécifié par cette valeur à partir de la fin du tableau d'entrée.
longueur facultative. valeur numérique. Si ce paramètre est omis, toutes les parties du tableau, du décalage jusqu'à la fin, sont supprimées. Si la longueur est spécifiée et est positive, ce nombre d'éléments est supprimé. Si la longueur est spécifiée et est négative, tous les éléments du décalage à la longueur en décompte à partir de la fin du tableau sont supprimés.
array Les éléments supprimés sont remplacés par des éléments de ce tableau. Si aucune valeur n'est supprimée, l'élément de ce tableau est inséré à la position spécifiée.

Conseils et notes

Astuce : Si la fonction ne supprime aucun élément (longueur = 0), le tableau de remplacement sera inséré à partir de la position du paramètre de départ.

Remarque : les clés du tableau de substitution ne sont pas conservées.

Exemple

<?php
  $a1=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");
  $a2=array(0=>"Tiger",1=>"Lion");
  array_splice($a1,0,2,$a2);
  print_r($a1);
  //输出:
 Array ( [0] => Tiger [1] => Lion [2] => Horse [3] => Bird )
 ?>
 //与例子 1 相同,但是输出返回的数组:
 <?php
  $a1=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");
  $a2=array(0=>"Tiger",1=>"Lion");
  print_r(array_splice($a1,0,2,$a2));
 ?>
 //输出:
 Array ( [0] => Dog [1] => Cat )
 //length 参数设置为 0:
 <?php
  $a1=array(0=>"Dog",1=>"Cat");
  $a2=array(0=>"Tiger",1=>"Lion");
  array_splice($a1,1,0,$a2);
  print_r($a1);
?>
//输出:
Array ( [0] => Dog [1] => Tiger [2] => Lion [3] => Cat )

Pour plus de connaissances liées à la programmation, veuillez visiter : Vidéo de programmation ! !

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