本帖最后由 baikujingling 于 2014-09-15 20:04:51 编辑

解决方案 »

  1.   

    print_r($resp); 看到的是什么?
      

  2.   


    $o = json_decode('{"a":{"b":[1,2,3]}}');
    echo $o['a']['b'][0];
    报错 Fatal error:  Cannot use object of type stdClass as array 可推知你是把对象当做数组访问了
    要这样
    echo $o->a->b[0];
      

  3.   


    也可这样
    $o = json_decode('{"a":{"b":[1,2,3]}}',true);
    echo $o['a']['b'][0];
      

  4.   

    我在帮楼主分析出错的原因,你捣什么乱
    也可这样
    $o = json_decode('{"a":{"b":[1,2,3]}}',true);
    echo $o['a']['b'][0];
      

  5.   


    也可这样
    $o = json_decode('{"a":{"b":[1,2,3]}}',true);
    echo $o['a']['b'][0];

    这个你也没说原因。应该是 json_decode  总是返回一个PHP对象   而不是数组
      

  6.   

    年轻人,想当然是大忌!
    楼主只有
    $resp = $c->execute($req);
    //print_r($resp);
    $item=$resp["item_list"]['sp_item'][0];
    并没有给出 print_r($resp) 的结果
    你如何就能断定他就是 json 解码的结果呢?
    我用 json 模拟一个出错的场景,并不表示是楼主的真实情况
    只是说明这种错误可能在什么情况下出现况且我也说了原因:你是把对象当做数组访问了也可这样
    $o = json_decode('{"a":{"b":[1,2,3]}}',true);
    echo $o['a']['b'][0];

    这个你也没说原因。应该是 json_decode  总是返回一个PHP对象   而不是数组
      

  7.   


    也可这样
    $o = json_decode('{"a":{"b":[1,2,3]}}',true);
    echo $o['a']['b'][0];

    这个你也没说原因。应该是 json_decode  总是返回一个PHP对象   而不是数组
    sorry  sorry   没看LZ的代码   只看到你的  因为LZ的问题就是$o = json_decode('{"a":{"b":[1,2,3]}}');然后安装数组方式访问出错