PHP判斷鍵值數組是否存在,使用empty或isset或array_key_exists


<?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是最准確的!

 

聲明:此博文是摘抄他人文章,旨在方便查找,學習使用,


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM