Maison  >  Article  >  développement back-end  >  Comment supprimer un élément d'un tableau en php

Comment supprimer un élément d'un tableau en php

藏色散人
藏色散人original
2021-06-02 14:28:5513571parcourir

Comment supprimer un élément dans un tableau en PHP : 1. Supprimer avec unset après avoir parcouru foreach ; 2. Supprimer en utilisant array_flip et unset ; 3. Rechercher et supprimer via array_search ; en utilisant array_keys La valeur peut être recyclée et supprimée.

Comment supprimer un élément d'un tableau en php

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

Comment supprimer un élément d'un tableau en php

L'exemple de cet article décrit PHP supprimant des éléments avec des valeurs spécifiées​​dans le tableau.

Le tableau de tests est le suivant :

//这是一个测试数组
$testArr = array(
  't' => 'qq',
  'q' => 'qq',
  'b' => 'baidu',
  'a' => 'ali',
  'm' => 'xiaomi'
);

Première méthode :

//foreach遍历后unset删除,这种方法也是最容易想到的方法
function delByValue($arr, $value){
  if(!is_array($arr)){
    return $arr;
  }
  foreach($arr as $k=>$v){
    if($v == $value){
      unset($arr[$k]);
    }
  }
  return $arr;
}

Test :

$testArr = delByValue($testArr,'baidu');
print_r($testArr)

Résultat d'exécution :

Array
(
    [t] => qq
    [q] => qq
    [a] => ali
    [m] => xiaomi
)

Méthode deux :

//array_flip之后unset,这种方法有一个弊端,就是反转后由于有两个键值都为qq,有一个数据将会丢失,所以在使用时请谨慎)
function delByValue($arr, $value){
  $tempArr = array_flip($arr);
  unset($tempArr[$value]);
  return array_flip($tempArr);
}

Test :

$testArr = delByValue($testArr,'baidu');
print_r($testArr)

Résultat de l'exécution :

Array
(
    [q] => qq
    [a] => ali
    [m] => xiaomi
)

Méthode 3 :

//array_search,这种方法亦有弊端,array_search搜索到一个合适的值时便返回,所以在数组存在多个相关的值这种方法不适用)
function delByValue($arr, $value){
  $key = array_search($value,$arr);
  if(isset($key)){
    unset($arr[$key]);
  }
  return $arr;
}

Test :

$testArr = delByValue($testArr,'baidu');
print_r($testArr)

Résultat de l'exécution :

Array
(
    [t] => qq
    [q] => qq
    [a] => ali
    [m] => xiaomi
)

Méthode 4 :

//使用array_keys搜索指定的值再循环unset)
function delByValue($arr, $value){
  $keys = array_keys($arr, $value);
  var_dump($keys);
  if(!empty($keys)){
    foreach ($keys as $key) {
      unset($arr[$key]);
    }
  }
  return $arr;
}

Test :

$testArr = delByValue($testArr,'baidu');
print_r($testArr)

Résultat d'exécution :

array(1) {
  [0]=>
  string(1) "b"
}
Array
(
    [t] => qq
    [q] => qq
    [a] => ali
    [m] => xiaomi
)

En résumant les quatre méthodes, les méthodes les plus réalisables sont la méthode 1 et la méthode 4. , Quant à savoir laquelle de ces deux méthodes est la meilleure, elle doit être analysée en détail en fonction de la situation spécifique.

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