foreachループなしで(または変更されていない)次のPHPクラスを実装する方法はありますか?
<?php
class foo {
private static $_thing = array(
'kee' => 'valyu'
);
public static function fetch($property, $key = '') {
if (property_exists('foo', $property)) {
if ($key == '') return self::$$property;
else {
# i cannot seem to do self::$$property[$key].
foreach (self::$$property as $_key => $_value) {
if ($_key == $key) return $_value;
}
}
}
return false;
}
}
var_dump(foo::fetch('bad')); # null
var_dump(foo::fetch('_thing')); # array(1) { ... }
var_dump(foo::fetch('_thing', 'bad')); # null
var_dump(foo::fetch('_thing', 'kee')); # string(5) "valyu"
?>
self::$$property[$key]
「宣言されていない静的プロパティへのアクセス:foo :: $ x」(xは$ keyの文字列値の最初の文字です)を取得します。