PHP-PHP静态字段赋值
class A {
public static $s;
public function e() {
var_dump($s);
}
}
$A = 'A';//这里这样写主要是因为这里面有很多个class,我循环调用的,所以只能把类名赋值给变量
$A::$s = '1111111';//想这样调用静态类里面的字段,但却老是报错
call_user_func_array(array($A,'e'));//这样是调用静态类里面的方法
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我使用php5.4.8可行,你的php版本太低了吧。折中方案,在类中添加方法来操作静态属性
<?php
class Person {
public static $name;
public static function set_name($name=NULL) {
if (!is_null($name)) {
self::$name = $name;
return true;
}
return false;
}
public static function get_name() {
return self::$name;
}
}
$class = "Person";
//设置值
call_user_func(array($class, "set_name"), "kitty");
//获取值
echo call_user_func(array($class, "get_name"));
/**
* php5.4.8直接获取和赋值都没有问题
* echo $class::$name;
* $class::$name = "pig";
* echo $class::$name;
*/