为什么使用 [ ] 符号将元素输入到静态数组
why [ ] notation is used to input element to static array
在原始示例中 $methods
是静态的 array.It 用于将外部函数作为方法分配给 class.But 以向该数组输入新元素 writer 使用以下表达式
static protected $methods = array();
我从变量声明中删除了 static 关键字并尝试执行代码。
protected $methods = array();
执行报错如下:
Fatal error: Access to undeclared static property: Dynamic::$methods
in C:\xampp\htdocs\practice\json.php on line 6
这个 [ ] 符号的用途是什么,它与 static 关键字有什么关系??
原始完整代码:
class Dynamic {
static protected $methods = array();
public static function registerMethod($method) {
self::$methods[] = $method;
}
private function __call($method, $args) {
if (in_array($method, self::$methods)) {
return call_user_func_array($method, $args);
}
}
}
function test() {
print "Hello World" . PHP_EOL;
}
Dynamic::registerMethod('test');
$d = new Dynamic();
$d->test();
what is this [ ] notation is used for and how it is related to static keyword??
static
和 []
的使用无关。
代码 $array[] = $i
是一个 shorthand,用于将元素 $i
推到数组 $array
的末尾。也可以写成array_push($array, $i)
.
在原始示例中 $methods
是静态的 array.It 用于将外部函数作为方法分配给 class.But 以向该数组输入新元素 writer 使用以下表达式
static protected $methods = array();
我从变量声明中删除了 static 关键字并尝试执行代码。
protected $methods = array();
执行报错如下:
Fatal error: Access to undeclared static property: Dynamic::$methods in C:\xampp\htdocs\practice\json.php on line 6
这个 [ ] 符号的用途是什么,它与 static 关键字有什么关系??
原始完整代码:
class Dynamic {
static protected $methods = array();
public static function registerMethod($method) {
self::$methods[] = $method;
}
private function __call($method, $args) {
if (in_array($method, self::$methods)) {
return call_user_func_array($method, $args);
}
}
}
function test() {
print "Hello World" . PHP_EOL;
}
Dynamic::registerMethod('test');
$d = new Dynamic();
$d->test();
what is this [ ] notation is used for and how it is related to static keyword??
static
和 []
的使用无关。
代码 $array[] = $i
是一个 shorthand,用于将元素 $i
推到数组 $array
的末尾。也可以写成array_push($array, $i)
.