Bagaimana untuk memadam tatasusunan php berdasarkan nilai

藏色散人
Lepaskan: 2023-03-12 12:32:02
asal
2203 orang telah melayarinya

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'
);
Salin selepas log masuk

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;
}
Salin selepas log masuk

Ujian:

$testArr = delByValue($testArr,'baidu');
print_r($testArr)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

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);
}
Salin selepas log masuk
(

[q] => qq

[a] => ali
$testArr = delByValue($testArr,'baidu');
print_r($testArr)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
[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;
}
Salin selepas log masuk
(

[t] => qq

[q] => qq
$testArr = delByValue($testArr,'baidu');
print_r($testArr)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
[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;
}
Salin selepas log masuk
[0]=>

rentetan(1) "b"

}
$testArr = delByValue($testArr,'baidu');
print_r($testArr)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan