2012-02-18 21 views
1

http://codepad.org/GAl6W6xnPHP:知道爆炸值是否設置爲

爲什麼此代碼表示「未設置」?數組位置2設置爲使其成爲「設置」?我該如何解決這個問題,以便我知道位置2是否存在價值?

(對不起,缺乏一個良好的稱號,也想不出一個)

+1

嗯,有一個價值存在,這恰好是一個空字符串。 – 2012-02-18 06:04:46

回答

2

答案是

array_key_exists
empty

試試這個

array_key_exists(2, $r); 
// or 
!empty($r[2]); 

爲了更準確

$line = "a"; 
$r = explode("|",$line); 

print_r($r); 
if(!empty($r[2])) // or use if(array_key_exists(2, $r)) 
    echo "array location [2] set"; 
else echo "array location [2] NOT set"; 
+0

array_key_exists和empty有什麼區別? – dukevin 2012-02-18 06:10:03

+0

看看這個http://stackoverflow.com/questions/6884609/array-key-existskey-array-vs-emptyarraykey。它會更好地解釋你.. – Wazzzy 2012-02-18 06:11:12

+1

感謝您的最佳答案,我很感激 – dukevin 2012-02-18 06:21:39

3

你可以嘗試

if(!empty($r[2]))