註:is_object(null) 會回傳 false
這實際上應該包含在此頁面頂部的輸入/輸出規範中。
(PHP 4, PHP 5, PHP 7, PHP 8)
is_object — 判斷變數是否為物件
value
要評估的變數。
範例 #1 is_object() 範例
<?php
// 宣告一個簡單的函式,用於從物件回傳陣列
function get_students($obj)
{
if (!is_object($obj)) {
return false;
}
return $obj->students;
}
// 宣告一個新的類別實例並填入一些值
$obj = new stdClass();
$obj->students = array('Kalle', 'Ross', 'Felipe');
var_dump(get_students(null));
var_dump(get_students($obj));
?>
將標準 PHP serialize() 函式回傳的資料反序列化。如果反序列化的物件不是陣列,它將被轉換為陣列,如果它回傳 __PHP_Incomplete_Class,這將特別有用。
<?php
/**
*
* @param string $data 序列化後的資料
*
* @return array 反序列化後的陣列
*/
function unserialize2array($data) {
$obj = unserialize($data);
if(is_array($obj)) return $obj;
$arr = array();
foreach($obj as $k=>$v) {
$arr[$k] = $v;
}
unset($arr['__PHP_Incomplete_Class_Name']);
return $arr;
}
?>
我預期這裡會用到 is_a() 函式。
如果您要測試一個物件是否為特定類型,請使用 is_a()
https://php.dev.org.tw/manual/en/function.is-a.php