<?php
$a = array(
'a'
=>1,
'b'
=>0,
'c'
=>NULL);
echo
'a test by empty: ' , empty($a[ 'a' ]) ? 'not exist' : 'exist' , PHP_EOL;
echo
'a test by isset: ' , isset($a[ 'a' ]) ? 'exist' : 'not exist' , PHP_EOL;
echo
'a test by array_key_exists: ' , array_key_exists( 'a' , $a) ? 'exist' : 'not exist' , PHP_EOL, PHP_EOL;
echo
'b test by empty: ' , empty($a[ 'b' ]) ? 'not exist' : 'exist' , PHP_EOL;
echo
'b test by isset: ' , isset($a[ 'b' ]) ? 'exist' : 'not exist' , PHP_EOL;
echo
'b test by array_key_exists: ' , array_key_exists( 'b' , $a) ? 'exist' : 'not exist' , PHP_EOL, PHP_EOL;
echo
'c test by empty: ' , empty($a[ 'c' ]) ? 'not exist' : 'exist' , PHP_EOL;
echo
'c test by isset: ' , isset($a[ 'c' ]) ? 'exist' : 'not exist' , PHP_EOL;
echo
'c test by array_key_exists: ' , array_key_exists( 'c' , $a) ? 'exist' : 'not exist' , PHP_EOL, PHP_EOL;
?>
|
輸出結果如下:
========================================================
a test by empty: exist
a test by isset: exist
a test by array_key_exists: exist
b test by empty: not exist
b test by isset: exist
b test by array_key_exists: exist
c test by empty: not exist
c test by isset: not exist
c test by array_key_exists: exist
========================================================
注意紅色高亮部分
三種方式的語法區別
- empty: 參數為0或為NULL時(如上面列子),empty均返回TRUE,
- isset: 參數為NULL時,返回FALSE,0與NULL在PHP中是有區別的,isset(0)返回TRUE
- array_key_exists: 純粹的判斷數組鍵值對是否存在,無論值是多少
所以,從准確性的角度來看,array_key_exists是最准確的!
聲明:此博文是摘抄他人文章,旨在方便查找,學習使用,