PHP Conference Japan 2024

is_object

(PHP 4, PHP 5, PHP 7, PHP 8)

is_object查找变量是否为对象

描述

is_object(混合 $value): 布尔值

查找给定变量是否为对象。

参数

value

正在评估的变量。

返回值

如果 value 是一个 对象,则返回 true,否则返回 false

变更日志

版本 描述
7.2.0 is_object() 现在对于没有类定义(类为 __PHP_Incomplete_Class)的反序列化对象返回 true。以前返回 false

示例

示例 #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));
?>

参见

添加注释

用户贡献的注释 3 条注释

peter dot nagel at portavita dot nl
13 年前
注意:is_object(null) 返回 false

这实际上应该成为此页面顶部输入/输出规范的一部分。
mark at not4you dot com
13 年前
反序列化标准 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;
}
?>
monique at nijboer dot it
2 个月前
我希望这里有对 is_a() 函数的引用。
如果你要测试一个对象是否属于特定类型,请使用 is_a()
https://php.net/manual/en/function.is-a.php
To Top