2013-03-06 159 views
0

嗨我有一個關於數組的簡單問題。用if語句檢查變量類型

我正在嘗試使用foreach循環來回顯vars。但是,有時候variable不會是array 我已經創建了if語句來檢查variable類型,但我不確定這是否是最佳做法。

有沒有更好的方法來做我所需要的?非常感謝!

我的代碼

$test = $_GET['testVar']; 

if(is_array($test)){ 
foreach($test as $t){ 
    echo $t; 
} 
}else{ 
    echo $test; 
} 
+2

工作不。這就是你如何去做的。 – Kermit 2013-03-06 23:14:03

回答

2

is_array是檢查一個變量是一個數組的最佳方式。所以你的代碼是好的。


但是這裏來一個通用的解決方案,將所有數據類型的不僅僅是功能陣列gettype() 您可以細化的結果,如果$ type是「對象」使用功能get_class()

$type = gettype($var); 

// get class name for objects if so desired 
if($type === 'object') { 
    $type = get_class($var); 
} 
+1

我認爲OP只關心它是否是一個數組;在這種情況下'is_array'是完全合適的。 – Kermit 2013-03-06 23:14:44

+0

好吧,也許我誤解了someting,但這是通用的解決方案,並應在任何情況下幫助 – hek2mgl 2013-03-06 23:16:21

+0

只需堅持'gettype'並補充說'is_array'也是可以接受的。 – Kermit 2013-03-06 23:16:46