小编Dre*_*gor的帖子

为什么在单个语句中分配动态对象的成员变量会导致PHP中出现语法错误?

我正在尝试创建一个新对象,为其中一个成员分配一个值,然后将该对象分配给单个语句中的数组键.
IE:

class MyObj {
  public $member = 'sad';
}

$myArray = array(
  'key' => ((new MyObj())->member = 'happy')
);
Run Code Online (Sandbox Code Playgroud)

问题是这给了我一个语法错误:"语法错误,意外'='"

以下代码是一个解决方法:

$obj = new MyObj();
$obj->member = 'happy';
$myArray = array(
  'key' => $obj
);
Run Code Online (Sandbox Code Playgroud)

问题是为什么单一陈述不起作用?为什么会产生语法错误?最后,如何创建一个创建新对象的语句,为其中一个成员变量赋值,然后将该对象与数组中的键相关联?

php dynamic variable-assignment assignment-operator

5
推荐指数
1
解决办法
202
查看次数