array作为类属性,无法赋值?
程序员文章站
2022-05-08 10:50:07
...
假设有类
arr = array();
}
public function getArr() {
return $this->arr;
}
public function append($arr) {
$this->arr[] = $arr;
}
public function merge($arr) {
$this->arr = array_merge($this->arr, $arr);
}
}
2个函数调用的效果不同
append($arr);//使用append无法修改类属性
var_dump($obj->getArr());
//output :
//array(0){}
$obj->merge($arr);//使用merge可以
var_dump($obj->getArr());
//output:
//array(2){'a','b'}
这是为什么?
回复内容:
假设有类
arr = array();
}
public function getArr() {
return $this->arr;
}
public function append($arr) {
$this->arr[] = $arr;
}
public function merge($arr) {
$this->arr = array_merge($this->arr, $arr);
}
}
2个函数调用的效果不同
append($arr);//使用append无法修改类属性
var_dump($obj->getArr());
//output :
//array(0){}
$obj->merge($arr);//使用merge可以
var_dump($obj->getArr());
//output:
//array(2){'a','b'}
这是为什么?
http://3v4l.org/Di7gT
似乎一切正常
推荐阅读
-
C#两个相同属性的类赋值方法
-
阿里Java学习路线:阶段 1:Java语言基础-Java语言高级特性:第24章:反射与简单Java类:课时111:单级属性赋值
-
阿里Java学习路线:阶段 1:Java语言基础-Java语言高级特性:第24章:反射与简单Java类:课时110:属性自动赋值实现思路
-
不同实体类相同属性赋值,复制对象里的值到另一个对象里的工具类
-
【ThinkPHP】诡谲的现象,$this->rowUser['ext'] = ''无法赋值!但是array_merge 却可以
-
闭包/访问器属性/类与对象/解构赋值/js引入与获取DOM对象
-
通过反射把map中的属性赋值到实体类bean对象中
-
怎么给类中的属性赋值?
-
闭包/访问器属性/类与对象/解构赋值/js引入与获取DOM对象
-
关于类里设置属性的同时,动态给其他属性计算并赋值