从PHP中的对象设置变量属性

时间:2015-07-05 03:39:52

标签: php json oop object

我有一个" obj"对象和" str"串。 如何设置$ str;" obj"? 这是我的尝试:

$jsonStr = '{"foo":"bar","number":1}';
$jsonObj = json_decode($jsonStr);
$property = $_GET["prop"];
$jsonObj->$property = "value";
file_put_contents("OUT",json_encode($jsonObj));

它始终输出" {}"!

注意:抱歉英语不好,我不是母语为英语的人。

编辑: 我已经尝试过var_dump()代码中的每个变量。

  • $ _获取["道具"] "foo"
  • $ jsonObj 实际上是object(stdClass)#1 (1) {["foo"]:"value", ["number"]:1}

因此错误发生在file_put_contents("OUT",json_encode($jsonObj)); ...

编辑2: 我发现了错误! 在真实的代码中,我写了

$jsonStr = '{"foo":"bar","number":1}';
$jsonObj = json_decode($jsonStr);
$property = $_GET["prop"];
$jsonObj->$property = "value";
file_put_contents("OUT",json_encode(      ---->$jsonStr<----- ERROR! ));

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

简单地做

public void doSomething() {
  String valueY = System.getProperty("valueY");
}

而不是

file_put_contents("OUT",json_encode($jsonObj));

代码实际上有效! 这是一个拼写错误。