Heim  >  Artikel  >  Backend-Entwicklung  >  So löschen Sie ein PHP-Array basierend auf dem Wert

So löschen Sie ein PHP-Array basierend auf dem Wert

藏色散人
藏色散人Original
2021-09-10 11:01:282212Durchsuche

So löschen Sie ein PHP-Array basierend auf dem Wert: 1. Verwenden Sie unset, um nach dem Durchlaufen von foreach zu löschen. 2. Löschen Sie es mit unset, nachdem Sie array_search übergeben haben. 4. Verwenden Sie array_keys, um nach dem angegebenen Wert zu suchen und dann zu löschen es in einer Schleife.

So löschen Sie ein PHP-Array basierend auf dem Wert

Die Betriebsumgebung dieses Artikels: Windows7-System, PHP7.1-Version, DELL G3-Computer

Wie lösche ich ein PHP-Array basierend auf dem Wert?

Gängige Methoden für PHP zum Löschen von Elementen mit angegebenen Werten in Arrays

Dieser Artikel beschreibt das Beispiel des PHP-Löschens von Elementen mit angegebenen Werten in Arrays. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Das Testarray ist wie folgt:

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

Methode eins:

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

Laufende Ergebnisse:

Array
(
[ t] => qq
[q] => qq
[a] => ali
[m] =>xiaomi
Methode 2:

rrree

Laufergebnis :

Array

(

 [q] => qq

 [a] => ali

 [m] => xiaomi
)




Methode 3:

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

Lauf Ergebnis:

Array

(

[t] => qq

[q] => qq

[a] => ali
[m] => xiaomi

)



Methode 4:

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

Laufergebnis:

array(1) {

[0]=>

string(1) "b"

}

Array
(

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


Um die vier Methoden zusammenzufassen, sind Methode 1 und Methode 4 die praktikableren Zwei Methoden sind besser, dann sollte es eine detaillierte Analyse der spezifischen Situation sein.

【Empfohlenes Lernen: „
PHP-Video-Tutorial

“】

Das obige ist der detaillierte Inhalt vonSo löschen Sie ein PHP-Array basierend auf dem Wert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn