Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk mengesan jika terdapat nilai nol dalam tatasusunan dalam php
Langkah pengesanan: 1. Gunakan fungsi array_filter() untuk menapis tatasusunan dan mengalih keluar elemen nol Sintaks "array_filter (asal tatasusunan)" akan mengembalikan tatasusunan yang ditapis 2. Gunakan fungsi count() untuk mendapatkan tatasusunan asal dan Panjang tatasusunan penapis, sintaks "kiraan (tatasusunan asal)" dan "kira (tatasusunan penapis)" 3. Tentukan sama ada panjang tatasusunan asal adalah sama dengan panjang tatasusunan penapis, sintaks "asli panjang tatasusunan == panjang tatasusunan penapis", jika sama dengan tatasusunan Tiada nilai nol dalam tatasusunan. Jika ia tidak sama, terdapat nilai nol dalam tatasusunan.
Persekitaran pengendalian tutorial ini: sistem windows7, PHP versi 8.1, komputer DELL G3
Dalam php, anda boleh menggunakan array_filter() , Fungsi count() dan operator "==" digunakan untuk mengesan sama ada terdapat nilai nol dalam tatasusunan.
Langkah pelaksanaan:
Langkah 1: Gunakan fungsi array_filter() untuk menapis tatasusunan dan mengalih keluar elemen null
Fungsi array_filter() menggunakan fungsi panggil balik untuk menapis elemen dalam tatasusunan.
Fungsi ini menghantar setiap nilai kunci dalam tatasusunan input kepada fungsi panggil balik. Jika fungsi panggil balik kembali benar, nilai kunci semasa dalam tatasusunan input dikembalikan kepada tatasusunan hasil. Nama kunci tatasusunan kekal tidak berubah.
array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )
Parameter | Penerangan | ||||||||
---|---|---|---|---|---|---|---|---|---|
array | Diperlukan. Menentukan tatasusunan untuk ditapis. | ||||||||
panggilan balik | Pilihan. Menentukan fungsi panggil balik yang akan digunakan. | ||||||||
<?php header('content-type:text/html;charset=utf-8'); $arr=array('foo',false,-1,null,''); var_dump($arr); $filte=array_filter($arr); echo "过滤数组后:"; var_dump($filte); ?>bendera |
Pilihan. Tentukan borang parameter yang diterima oleh panggilan balik: ARRAY_FILTER_USE_KEY - panggil balik menerima nama kunci sebagai satu-satunya parameter ARRAY_FILTER_USE_BOTH - panggil balik menerima kedua-dua nama kunci dan nilai kunci |
$len1=count($arr); $len2=count($filte);
$len1==$len2;
Jika sama, tiada ruang dalam Nilai tatasusunan (iaitu, tiada unsur yang ditapis)
function f($arr){ $filte=array_filter($arr); echo "过滤数组后:"; var_dump($filte); $len1=count($arr); $len2=count($filte); if($len1==$len2){ echo "数组中没有空值<br>"; }else{ echo "数组中有空值<br>"; } }
$arr=array('foo',false,-1,null,''); var_dump($arr); f($arr);
Kod pelaksanaan:
$arr=array('foo',1,2,3); var_dump($arr); f($arr);
Contoh 1: Memanggil fungsi f($arr)
Contoh 2: [Cadangan berkaitan: tutorial video javascript , Bermula dengan bahagian hadapan web]Atas ialah kandungan terperinci Bagaimana untuk mengesan jika terdapat nilai nol dalam tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!