如何从JSON对象中取出int值?

时间:2016-07-19 10:10:19

标签: php json laravel laravel-5

我现在正在使用Laravel 5,我遇到了以下问题。我收到了DB查询的回复:

  

[{"id":1}]

我想把1取出为int或string。有什么想法吗?

我试图解决这个问题如下:

$json = (DB query);       
$data = json_decode($json);     
$final = $data[0]->id;

并且回复是:

  

json_decode()期望参数1为字符串,给定数组

4 个答案:

答案 0 :(得分:1)

正如您所说,您拥有的字符串是JSON格式,因此您需要使用json_decode在PHP中访问它。

方括号引用一个数组,大括号引用该数组中的一个对象,所以你要找的是第一个元素的id值(即元素0)在阵列中。

<?php
$json = '[{"id":1}]';
$data = json_decode($json);

echo $data[0]->id;
// 1

答案 1 :(得分:1)

这就是你所需要的。

$response = json_decode($response); // Decode the JSON
$string = $response[0]->id;         // Save the value of id var

答案 2 :(得分:0)

试试这个

$json_array = '[{"id":1}]';
$data = json_decode($json_array);
print_r($data); // To display the result array

答案 3 :(得分:0)

如果我不误解你的问题,你只需要解码它。

$json = '[{"id":1}]';
$decodedObject = json_decode($json);

然后你可以遍历aray并对你的数据做一些事情:

foreach($decodedObject as $key => $value) {
    $id = $value->id;
}

如果您正在使用Laravel,为什么不使用Eloquent模型?