◐ Shell
clean mode source ↗

PHP: is_object - Manual

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

is_objectFinds whether a variable is an object

Description

function is_object(mixed $value): bool

Parameters

value

The variable being evaluated.

Changelog

Version Description
7.2.0 is_object() now returns true for unserialized objects without a class definition (class of __PHP_Incomplete_Class). Previously false was returned.

Examples

Example #1 is_object() example

<?php
// Declare a simple function to return an 
// array from our object
function get_students($obj)
{
    if (!is_object($obj)) {
        return false;
    }

    return $obj->students;
}

// Declare a new class instance and fill up 
// some values
$obj = new stdClass();
$obj->students = array('Kalle', 'Ross', 'Felipe');

var_dump(get_students(null));
var_dump(get_students($obj));
?>

See Also

  • is_bool() - Finds out whether a variable is a boolean
  • is_int() - Find whether the type of a variable is integer
  • is_float() - Finds whether the type of a variable is float
  • is_string() - Find whether the type of a variable is string
  • is_array() - Finds whether a variable is an array

Found A Problem?

peter dot nagel at portavita dot nl

15 years ago

Note: is_object(null) returns false

This should actually be part of the input/output specification at the top of this page.

mark at not4you dot com

14 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;
}
?>