dtpt75860 2015-12-08 11:43
浏览 17

PHP尝试获取有效对象的非对象属性

I have the following problem: I'm iterating through an array of valid objects using foreach. When trying to access the resulting objects or their properties I am getting the notice I would be trying to access a non-object.

Here is the code:

$schema = json_decode($_POST['d']);
foreach ($schema->node as $node) {
    var_dump($node);
    if ($node->status == 1) {
        $data = $node->id;
    }
}

var_dump outputs the following:

object(stdClass)#5 (6) {
  ["status"]=>
  int(0)
  ["id"]=>
  int(1)
  ["title"]=>
  string(6) "Sensor"
  ["script"]=>
  string(24) "from eZness import swag;"
  ["x"]=>
  int(60)
  ["y"]=>
  int(80)
}

Thanks in advance.

UPDATE:

$schema = json_decode($_POST['d']);
foreach ($schema->node as $node) {
    var_dump($node);
    echo $node->status; //Funnily this works
    $status = $node->status; //while this doesn't
    if ($node->status == 1) { //and this doesn't as well
        $data = $node->id;
    }
}

But when removing the var_dump even the echo doesn't work anymore.

UPDATE: Resolved. Had a look at the client part of the application, there was a problem with pushing NULL values in the $schema->node array which of course are non-objects.

  • 写回答

2条回答 默认 最新

  • dongyishe6689 2015-12-08 11:48
    关注

    You are trying to access $node->data, which does not exist.

    评论

报告相同问题?

悬赏问题

  • ¥20 易康econgnition精度验证
  • ¥15 线程问题判断多次进入
  • ¥15 msix packaging tool打包问题
  • ¥28 微信小程序开发页面布局没问题,真机调试的时候页面布局就乱了
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致