Maison > développement back-end > Problème PHP > Comment supprimer un élément d'un tableau en php

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

藏色散人
Libérer: 2023-03-10 09:12:01
original
13698 Les gens l'ont consulté

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 :

1

2

3

4

5

6

7

8

//这是一个测试数组

$testArr = array(

  't' => 'qq',

  'q' => 'qq',

  'b' => 'baidu',

  'a' => 'ali',

  'm' => 'xiaomi'

);

Copier après la connexion

Première méthode :

1

2

3

4

5

6

7

8

9

10

11

12

//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;

}

Copier après la connexion

Test :

1

2

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

print_r($testArr)

Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Résultat d'exécution :

1

2

3

4

5

6

7

Array

(

    [t] => qq

    [q] => qq

    [a] => ali

    [m] => xiaomi

)

Copier après la connexion
Copier après la connexion

Méthode deux :

1

2

3

4

5

6

//array_flip之后unset,这种方法有一个弊端,就是反转后由于有两个键值都为qq,有一个数据将会丢失,所以在使用时请谨慎)

function delByValue($arr, $value){

  $tempArr = array_flip($arr);

  unset($tempArr[$value]);

  return array_flip($tempArr);

}

Copier après la connexion

Test :

1

2

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

print_r($testArr)

Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Résultat de l'exécution :

1

2

3

4

5

6

Array

(

    [q] => qq

    [a] => ali

    [m] => xiaomi

)

Copier après la connexion

Méthode 3 :

1

2

3

4

5

6

7

8

//array_search,这种方法亦有弊端,array_search搜索到一个合适的值时便返回,所以在数组存在多个相关的值这种方法不适用)

function delByValue($arr, $value){

  $key = array_search($value,$arr);

  if(isset($key)){

    unset($arr[$key]);

  }

  return $arr;

}

Copier après la connexion

Test :

1

2

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

print_r($testArr)

Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Résultat de l'exécution :

1

2

3

4

5

6

7

Array

(

    [t] => qq

    [q] => qq

    [a] => ali

    [m] => xiaomi

)

Copier après la connexion
Copier après la connexion

Méthode 4 :

1

2

3

4

5

6

7

8

9

10

11

//使用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;

}

Copier après la connexion

Test :

1

2

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

print_r($testArr)

Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Résultat d'exécution :

1

2

3

4

5

6

7

8

9

10

11

array(1) {

  [0]=>

  string(1) "b"

}

Array

(

    [t] => qq

    [q] => qq

    [a] => ali

    [m] => xiaomi

)

Copier après la connexion

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!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal