fetus Diary
2008/06/23(月) - isset
<?php
class TestObject { }
$data = array('zero' => 0,
'one' => 1,
'alpha' => 'abcd',
'true' => true,
'false' => false,
'obj' => new TestObject(),
'null' => null);
$keys = array_keys($data);
$keys[] = 'unknown';
foreach($keys as $key) {
printf('isset($data[\'%s\']) = %s' . "\n", $key, isset($data[$key]) ? 'true' : 'false');
}
?>
[fetus@KOTORI ~]$ php hoge.php
isset($data['zero']) = true
isset($data['one']) = true
isset($data['alpha']) = true
isset($data['true']) = true
isset($data['false']) = true
isset($data['obj']) = true
isset($data['null']) = false
isset($data['unknown']) = false
isset は値が null の時は false を返すらしい。ちょっとハマった。仕事で。
昔は array_key_exists 使ってたんだけどな…。なんで isset 使うようになったんだっけ…?
# しかし、isset が関数じゃなくて言語構造ってのがイマイチ気持ち悪い。C/C++ の sizeof だって似たようなもんですがー。
- 08/06/24
2:002:07
コメント
コメントはありません。