【问题标题】:php - array - Illegal string offsetphp - 数组 - 非法字符串偏移
【发布时间】:2014-04-22 12:18:20
【问题描述】:

我正在尝试显示值数组中的单个值。 如果我使用print_r($arr) 它会显示这个值

{
    "a": 14,
    "b": 3,
    "c": 61200,
    "d": [
        "2014-04-22 12:00:06",
        "2014-04-23 12:00:06",
        "2014-04-24 12:00:06"
    ]
}

但是当我尝试使用echo $arr->a$arr['a'] 时。 它显示illegal string offset 'a'。 如何从值数组中获取单个值?

【问题讨论】:

  • 先解码成数组?

标签: php arrays


【解决方案1】:

看起来像json所以需要先用json_decode()解码

$d = '{"a":14,"b":3,"c":61200,"d":["2014-04-22 12:00:06","2014-04-23 12:00:06","2014-04-24 12:00:06"]}';
$j = json_decode($d);
echo '<pre>';
print_r($j);
echo $j->a;

【讨论】:

    【解决方案2】:

    从 JSON 解码:

    $v = json_decode('{
        "a": 14,
        "b": 3,
        "c": 61200,
        "d": [
            "2014-04-22 12:00:06",
            "2014-04-23 12:00:06",
            "2014-04-24 12:00:06"
        ]
    }');
    
    echo $v->a;
    

    【讨论】:

      【解决方案3】:

      更多信息会很有用。使用的是什么版本的 PHP?您使用的是 Web 引擎(Apache、Nginx 等)还是仅使用命令行?如果我错了,请纠正我,但我假设您使用 json_decode 并将其设为对象。

      $obj = json_decode('{"a":14,"b":3,"c":61200,"d":["2014-04-22 12:00:06","2014-04-23 12:00:06","2014-04-24 12:00:06"]}');
      echo "Result: " . $obj->a;
      
      Result: 14
      

      这在 PHP 版本 5.3、5.4、5.5 中运行良好

      【讨论】:

        【解决方案4】:

        试试这个

        $arr = json_decode($arr);
        echo $arr->a
        

        【讨论】:

          【解决方案5】:

          输入看起来像 JSON - 请尝试以下方法来解析 JSON 数据:

          $json_string = '{
              "a": 14,
              "b": 3,
              "c": 61200,
              "d": [
                  "2014-04-22 12:00:06",
                  "2014-04-23 12:00:06",
                  "2014-04-24 12:00:06"
              ]
          }';
          
          $vals = json_decode($json_string);
          
          echo $vals->a;
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多