Dua kaedah penyingkiran: 1. Gunakan pernyataan foreach untuk menggelung melalui tatasusunan bersekutu, dan gunakan fungsi unset() dalam badan gelung untuk memadamkan elemen nol berdasarkan nama kunci Sintaksnya ialah "foreach(. $arr sebagai $k= >$v){if(!$v){unset($arr[$k]);}}". 2. Gunakan fungsi array_filter() untuk menapis tatasusunan bersekutu dan memadamkan elemen nol (semua elemen dalam tatasusunan yang nilainya bersamaan dengan FALSE Sintaksnya ialah "array_filter($arr)".
Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer DELL G3
php associative tatasusunan Dua kaedah untuk mengalih keluar nilai null
Kaedah 1: foreach statement unset() fungsi
1 untuk menggelung melalui tatasusunan Bersekutu
foreach ($array as $key => $value){ 循环语句块; }
merentasi tatasusunan $array yang diberikan Dalam setiap gelung, nilai tatasusunan semasa ditugaskan kepada $value dan nama kunci diberikan kepada $key.
2 Dalam badan gelung, tentukan sama ada elemen tatasusunan adalah nol satu demi satu, dan gunakan fungsi unset() untuk memadamkan nilai nol berdasarkan nama kunci
if( !$value ){ unset( $arr[$key] ); }
Kod penuh:
<?php header('content-type:text/html;charset=utf-8'); $arr=array(1=>"1","a"=>"",2=>"2","b"=>0,"c"=>"blue"); var_dump($arr); foreach ($arr as $k=>$v){ if( !$v ){ unset($arr[$k]); } } var_dump($arr); ?>
Kaedah 2: Gunakan fungsi array_filter() untuk menapis tatasusunan bersekutu dan memadamkan elemen nol
array_filter( ) fungsi, juga dikenali sebagai fungsi panggil balik, digunakan untuk menapis elemen tatasusunan menggunakan fungsi yang ditentukan pengguna. Ia berulang pada setiap nilai dalam tatasusunan, menghantarnya ke fungsi yang ditentukan pengguna atau fungsi panggil balik.
Apabila fungsi array_filter() digunakan untuk mengisytiharkan fungsi panggil balik, ia akan memadamkan nilai palsu (nilai nol), namun, jika fungsi panggil balik tidak ditentukan, semua elemen dalam tatasusunan dengan nilai sama dengan FALSE, seperti null, akan dipadamkan nilai String atau NULL.
<?php header("Content-type:text/html;charset=utf-8"); $arr = array(11,'',null,12,false,0); var_dump($arr); $newarr = array_filter($arr); echo "过滤后的数组:"; var_dump($newarr); ?>
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Bagaimana untuk membuang nilai nol dari tatasusunan bersekutu php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!