PHP-PHP静态字段赋值

发布于 2016-12-05 17:19:10 字数 274 浏览 1133 评论 1

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

甜柠檬 2017-04-23 19:43:59

我使用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;
*/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文