PHP: property_exists - Manual

downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

Classkit method_exists

Last updated: Sat, 27 Jan 2007

view this page in

# property_exists

(PHP 5 >= 5.1.0RC1)

property_exists -- Checks if the object or class has a property

## Описание

bool property_exists ( mixed class, string property )

This function checks if the given `property` exists in the specified class (and if it is accessible from the current scope).

> Замечание: As opposed with isset(), property_exists() returns `TRUE` even if the property has the value `NULL`.

## Список параметров

`class`

  The class name or an object of the class to test for

`property`

  The name of the property

## Возвращаемые значения

Returns `TRUE` if the property exists, `FALSE` if it doesn't exist or `NULL` in case of an error.

## Примеры

Пример 1. A property_exists() example

`<?php
class myClass {
public $mine;
private $xpto;
static function test() {
var_dump(property_exists('myClass', 'xpto')); // true, it can be accessed from here
}
}
var_dump(property_exists('myClass', 'mine')); //true
var_dump(property_exists(new myClass, 'mine')); //true
var_dump(property_exists('myClass', 'xpto')); //false, isn't public
myClass::test();
?>`

## Смотрите также

method_exists()

add a note User Contributed Notes
property_exists
Alan71
07-Aug-2006 10:57
`This function is case-sensitive, so :
<?php
class Test {
public $property;
public foo() { echo($property); }
}
property_exists('Test', 'property'); // will return true
property_exists('Test', 'Property'); // will return false
?>
(under PHP5.1.2)`
jcaplan at bogus dot amazon dot com
08-Jun-2006 02:35
`The documentation leaves out the important case of new properties you add to objects at run time. In fact, property_exists will return true if you ask it about such properties.
<?
class Y {}
$y = new Y;
echo isset( $y->prop ) ? "yes\n" : "no\n"; // no;
echo property_exists( 'Y', 'prop' ) ? "yes\n" : "no\n"; // no
echo property_exists( $y, 'prop' ) ? "yes\n" : "no\n"; // no
$y->prop = null;
echo isset( $y->prop ) ? "yes\n" : "no\n"; // no;
echo property_exists( 'Y', 'prop' ) ? "yes\n" : "no\n"; // no
echo property_exists( $y, 'prop' ) ? "yes\n" : "no\n"; // yes
?>`
Pete W
01-Jun-2006 11:52
`In a similar vein to the previous note, To check in PHP4 if an object has a property, even if the property is null:
<?php
if(array_key_exists('propertyName',get_object_vars($myObj)))
{
// ..the property has been defined
}
?>`
timshel
14-Nov-2005 04:20
`I haven't tested this with the exact function semantics of 5.1, but this code should implement this function in php < 5.1:
<?php
if (!function_exists('property_exists')) {
function property_exists($class, $property) {
if (is_object($class))
$class = get_class($class);
return array_key_exists($property, get_class_vars($class));
}
}
?>`
add a note
Classkit method_exists

Last updated: Sat, 27 Jan 2007
show source | credits | stats | sitemap | contact | advertising | mirror sites
Copyright © 2001-2007 The PHP Group
All rights reserved.
This mirror generously provided by: Yahoo! Inc.
Last updated: Sat Mar 10 11:33:19 2007 PST