Dalam artikel sebelumnya "Cara mengalih keluar elemen kosong atau pendua dalam pembelajaran tatasusunan PHP", kami mengetahui bahawa kami boleh menggunakan fungsi empty() untuk menentukan sama ada sesuatu nilai itu kosong. Jadi apakah cara untuk menyemak nilai nol dalam PHP? Kali ini kita akan belajar tentang beberapa kaedah biasa Jika anda memerlukannya, anda boleh mempelajarinya~
Tema artikel hari ini ialah: menggunakan PHP untuk mengesan sama ada nilai kosong atau tidak. Baiklah, mari teruskan kepada intinya. Berikut adalah beberapa kaedah biasa.
Kaedah 1: Gunakan empty()
fungsi kosong: mengesan sama ada pembolehubah itu "kosong"
Mana-mana pembolehubah yang tidak dimulakan, nilainya ialah 0 atau rentetan palsu atau kosong "" atau pembolehubah nol, tatasusunan kosong, objek tanpa sebarang atribut akan dinilai sebagai BENAR.
Mari kita lihat contoh kod di bawah:
<?php $a = 'test'; $b = array('key1' => 'value1'); $class = new stdClass(); var_dump(empty($c)); // 输出 bool(true) var_dump(empty($b['key2'])); // 输出 bool(true) var_dump(empty($class)); // 输出 bool(false) var_dump(empty($class->test->test)); // 输出 bool(true) class EmptyClass{}; $empty_class = new EmptyClass(); var_dump(empty($empty_class));// 输出 bool(false) ?>
Hasil keluaran:
Pembolehubah berikut akan kosong dianggap kosong:
"" (rentetan kosong)
0 (0 sebagai integer)
0.0 (0 sebagai apungan)
"0" (0 sebagai rentetan)
NULL
SALAH
tatasusunan() (susunan kosong)
$var; pembolehubah tanpa nilai)
Ketahui tentang perbezaan antara lima jenis
0
,'0'
,''
,null
danfalse
.
null bermaksud tidak wujud: nilai tidak disimpan dalam ruang zval di bahagian bawah PHP, hanya tanda jenis IS_NULL disimpan.
Dan 0, '0', '', palsu keempat-empat ini wujud. Lapisan bawah php membuka storan ruang zval, dengan nilai dan jenis.
rentetan '0' tidak sama dengan rentetan ''
int 0 sama dengan rentetan '' kosong, (perbandingan tidak sama , PHP akan melakukan penukaran jenis)
rentetan '0' tidak sama dengan null, int 0 sama dengan null
Kaedah 2: Gunakan isset()
fungsi isset: tentukan sama ada pembolehubah telah dimulakan dan boleh digunakan untuk menguji sama ada pembolehubah telah dikonfigurasikan. Mengembalikan benar jika pembolehubah sudah wujud;
Mari kita lihat contoh kod di bawah:
<?php $a = 'test'; $b = array('key1' => 'value1'); $class = new stdClass(); var_dump(isset($class->test->test)); // 判断对象属性是否定义:输出 bool(false) var_dump(isset($a)); // 判断变量是否定义:输出 bool(true) var_dump(isset($c)); // 判断变量是否定义:输出 bool(false) var_dump(isset($b['key1'])); // 判断数组元素是否定义:输出 bool(true) var_dump(isset($b['key2'])); // 判断数组元素是否定义:输出 bool(false) ?>
Hasil keluaran:
Kaedah 3: Gunakan is_null ()
is_null function: mengesan sama ada pembolehubah itu "null".
Apabila pembolehubah diberikan nilai "null", hasil pengesanan adalah benar 0, rentetan kosong, palsu dan tatasusunan kosong semuanya dikesan sebagai palsu.
Mari kita lihat contoh kod di bawah:
<?php $a = null; $b = false; var_dump(is_null($a)); var_dump(is_null($b)); var_dump(is_null($c)); ?>
Hasil keluaran:
Kaedah 4: Gunakan = Operator = atau ===
boleh digunakan untuk menentukan sama ada pembolehubah adalah "kosong". Apabila pembolehubah diberikan nilai "null", hasil pengesanan adalah benar manakala 0, rentetan kosong, palsu dan tatasusunan kosong semuanya dikesan sebagai palsu. Jika pembolehubah tidak dimulakan, program akan melaporkan ralat. var == null
Intipatinya ialah ungkapan == akan melakukan penukaran jenis automatik pada pembolehubah pada kedua-dua belah, jadi keputusan penghakiman adalah benar.Mari kita lihat contoh kod di bawah:
<?php $a = 0; $b = array(); var_dump($a == null); var_dump($b == null); var_dump($c == null); ?>
untuk mengesan pembolehubah Sama ada "null", dan jenis pembolehubah juga mestilah "null". Apabila menilai "null", sama dengan is_null mempunyai kesan yang sama. var === null
<?php $a = 0; $b = false; $c = 0.0; $d = null; $e = ''; var_dump(0 === $a); // 输出 bool(true) var_dump(0 === $b); // 输出 bool(false) var_dump(0 === $c); // 输出 bool(false) var_dump(0 === $d); // 输出 bool(false) var_dump(0 === $e); // 输出 bool(false) var_dump('' === $e); // 输出 bool(true) var_dump('' === $a); // 输出 bool(false) var_dump('' === $b); // 输出 bool(false) var_dump(0.0 === $c);// 输出 bool(true) var_dump(0.0 === $a); // 输出 bool(false) ?>
Atas ialah kandungan terperinci Bagaimana untuk menyemak nilai nol menggunakan PHP (4 kaedah). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!