Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk memadam tatasusunan php berdasarkan nilai

Bagaimana untuk memadam tatasusunan php berdasarkan nilai

藏色散人
藏色散人asal
2021-09-10 11:01:282195semak imbas

Cara memadam tatasusunan PHP berdasarkan nilai: 1. Padam dengan tidak ditetapkan selepas melintasi foreach 2. Padam dengan tidak ditetapkan selepas melepasi array_search 4. Gunakan array_keys untuk mencari nilai yang ditentukan dan kemudian padamkannya dalam satu gelung.

Bagaimana untuk memadam tatasusunan php berdasarkan nilai

Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3

Cara memadam tatasusunan php berdasarkan nilai?

Kaedah biasa untuk PHP memadam elemen dengan nilai tertentu dalam tatasusunan

Contoh dalam artikel ini menerangkan PHP memadam elemen dengan nilai tertentu dalam tatasusunan. Kongsi dengan semua orang untuk rujukan anda, butirannya adalah seperti berikut:

Susun atur ujian adalah seperti berikut:

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

Kaedah 1:

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

Ujian:

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

Keputusan berjalan:

Susun atur
(
[t] => qq
[q] => ;qq
[a ] => ali
[m] =>
Ujian:

Hasil jalankan:

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

[q] => qq

[a] => ali
$testArr = delByValue($testArr,'baidu');
print_r($testArr)
[m] => xiaomi

)


Kaedah tiga:



Ujian:

Hasil larian:

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

[t] => qq

[q] => qq
$testArr = delByValue($testArr,'baidu');
print_r($testArr)
[a] => ali

[m] = > xiaomi

)



Kaedah 4:



Ujian:

Hasil jalankan:

array(1) {
//使用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;
}
[0]=>

rentetan(1) "b"

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

(

[t] = > qq
[q] => qq

[a] =>
Ringkasan empat kaedah Pada penghujung hari, kaedah 1 dan kaedah 4 benar-benar lebih boleh dilaksanakan Bagi mana antara dua kaedah ini lebih baik, ia harus dianalisis secara terperinci berdasarkan situasi tertentu.

[Pembelajaran yang disyorkan: "
Tutorial Video PHP
"]

Atas ialah kandungan terperinci Bagaimana untuk memadam tatasusunan php berdasarkan nilai. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn