PHP读取JSON里面数组中的sid值

我怎样把JSON
{"code":0,"data":[{"fee":1,"mobile":"13190565411","sid":"510477584471536640"}],"msg":"成功","total_fee":1,"uid":"b08rn8"}
里面数组中的 sid值510477584471536640读出来

下面代码正确吗?读时会出错


$json = '{"code":0,"data":[{"fee":1,"mobile":"13190565411","sid":"510477584471536640"}],"msg":"成功","total_fee":1,"uid":"b08rn8"}';

$obj = json_decode($json);

echo $obj->code."</br>"; 
echo $obj->msg."</br>"; 
echo $obj->data[2]."</br>"; 

该回答引用chatgpt:
数组中的索引应该是 0 而不是 2,因为数组的索引是从 0 开始的。此外,您需要访问数组中的 sid 值,而不是直接输出整个数组。下面是您的代码的修正版:

img


<?php

$json = '{"code":0,"data":[{"fee":1,"mobile":"13190565411","sid":"510477584471536640"}],"msg":"成功","total_fee":1,"uid":"b08rn8"}';

$obj = json_decode($json);

echo $obj->code . "</br>";
echo $obj->msg . "</br>";
echo $obj->data[0]->sid . "</br>"; // Corrected index and accessing "sid" value


?>

【以下回答由 GPT 生成】

以上代码有两个错误。首先,$obj->data[2]的索引应该是0而不是2,因为data是一个数组,索引从0开始。其次,$obj->data[0]返回的是一个对象,需要进一步访问该对象的属性来获取sid的值。

以下是修正后的代码:

$json = '{"code":0,"data":[{"fee":1,"mobile":"13190565411","sid":"510477584471536640"}],"msg":"成功","total_fee":1,"uid":"b08rn8"}';

$obj = json_decode($json);

echo $obj->code."</br>"; 
echo $obj->msg."</br>"; 
echo $obj->data[0]->sid."</br>"; 

以上代码的输出结果应该是:

0
成功
510477584471536640

这样就可以成功读取 JSON 中的 sid 值。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^