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));
?>

参见

  • is_bool() - 查找变量是否为布尔值
  • is_int() - 查找变量的类型是否为整数
  • is_float() - 查找变量的类型是否为浮点数
  • is_string() - 查找变量的类型是否为字符串
  • is_array() - 查找变量是否为数组

添加备注

用户贡献的备注 2 则备注

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

这实际上应该作为输入/输出规范添加到此页面顶部。
mark at not4you dot com
12 年前
取消序列化由标准 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;
}
?>
To Top