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.
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)
)
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)
[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; }
rentetan(1) "b"
}$testArr = delByValue($testArr,'baidu'); print_r($testArr)
(
[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!