May 01, 2008

behavior of empty(), isset()

たまに忘れるハマりどころ。
<?php

class Foo
{
  protected $values = array();
  
  public function __set($key, $val)
  {
    $this->values[$key] = $val;
  }
  
  public function __get($key)
  {
    return (isset($this->values[$key])) ? $this->values[$key] : null;
  }
}

$foo = new Foo();
$foo->a = 10;

var_dump($foo->a);         // int(10)
var_dump(isset($foo->a));  // bool(false)
var_dump(empty($foo->a));  // bool(true)


トラックバックURL

コメントする

名前:
URL:
  情報を記憶: 評価:  顔   星
 
 
 
Sabel

Sabel PHP Frameworkを開発しています。
http://www.sabel.jp/

Search
Categories
Tags
Recent Articles
Archives