PHP 8.4.0 RC3 available for testing

is_object

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

is_object检测变量是否是对象

说明

is_object(mixed $value): bool

检测变量是否是对象。

参数

value

需要检测的变量。

返回值

如果 valueobject,返回 true,否则返回 false

更新日志

版本 说明
7.2.0 没有定义类(__PHP_Incomplete_Class 类)的未序列化对象,is_object() 现在返回 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 notes

up
96
peter dot nagel at portavita dot nl
13 years ago
Note: is_object(null) returns false

This should actually be part of the input/output specification at the top of this page.
up
4
mark at not4you dot com
13 years ago
Unserializes data as returned by the standard PHP serialize() function. If the unserialized object is not an array, it will be converted to one, particularily useful if it returns a __PHP_Incomplete_Class.

<?php
/**
*
* @param string $data Serialized data
*
* @return array Unserialized 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;
}
?>
up
0
monique at nijboer dot it
1 month ago
I would expect a reference to is_a() function here.
if you would test if an object is of an specific type use is_a()
https://www.php.net/manual/en/function.is-a.php
To Top