为了账号安全,请及时绑定邮箱和手机立即绑定

php静态变量问题

php静态变量问题

PHP
倚天杖 2019-03-14 12:55:25
目前使用php5.6版本,刚刚试着了解静态变量,简单写了个方法 class test { public function test() { static $a = []; $a[] = 1; return $a; } } $test = new test(); $a = $test->test(); print_r($a); 输出是 请问这个结果是怎么产生的?我以为结果会是array([0]=>1);
查看完整描述

4 回答

?
弑天下

TA贡献1818条经验 获得超8个赞

构造函数执行了一次,直接调用执行了一次,所以数组里有两个元素

查看完整回答
反对 回复 2019-03-18
?
德玛西亚99

TA贡献1770条经验 获得超3个赞

和类名相同的方法=构造方法

查看完整回答
反对 回复 2019-03-18
?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

class test{
   function test(){
    
    }
}
$test = new test();
$a = $test->test();

相当于

class test{
 
   function __construct(){
    }
    
}
$test = new test();//此时已经 __construct(); 创建时已经调用了
$a = $test->__construct();//第2次调用
查看完整回答
反对 回复 2019-03-18
  • 4 回答
  • 0 关注
  • 484 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信