Php 使用变量访问对象属性
我有一个充满数组的对象,我可以用这段代码更改数组中的元素Php 使用变量访问对象属性,php,arrays,object,Php,Arrays,Object,我有一个充满数组的对象,我可以用这段代码更改数组中的元素 $i = 0; $object->property[$i] = "some value"; 但是,以下代码不会更改该值,并且不会返回任何错误 $i = 0; $propertyname = "property"; $object->$propertyname[$i] = "some value"; 似乎您正在尝试按程序样式编辑封装在对象中的数据 E:试试看 $object->$propertyname[$otherp
$i = 0;
$object->property[$i] = "some value";
但是,以下代码不会更改该值,并且不会返回任何错误
$i = 0;
$propertyname = "property";
$object->$propertyname[$i] = "some value";
似乎您正在尝试按程序样式编辑封装在对象中的数据 E:试试看 $object->$propertyname[$otherprop['name']$i] 试试看:
$i = 0;
$propertyname = "property";
$object->{$propertyname}[$i] = "some value";
要设置属性,应使用函数。 这样可以防止将属性设置为无效值。 您想要实现的目标可以通过解决方案来实现:
public function setPoperty($propName,$Value)
{
switch($propName)
{
case ('firstName'):
$this->firstName=$Value;
break;
case ('UserMode'):
if ($Value>0) //prevent from setting to an undesired value
{ $this->UserMode=$Value}
break;
}
}
这是白手起家写的。但是你应该明白这一点。试试这个
$object->{“$propertyname[$i]”}='some value'
.没有任何区别:/@Alex告诉php属性名是$propertyname
,而不是$propertyname[$i]
。