Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json对象中的PHP解码数组_Php_Arrays_Json - Fatal编程技术网

Json对象中的PHP解码数组

Json对象中的PHP解码数组,php,arrays,json,Php,Arrays,Json,我被这个Json数据困住了: 我在变量中有此信息: $mydata= '{"success":true,"data":[{"sku":203823,"issoldout":false,"isShowDiscount":false,"discount":0,"currencycode":"USD","currencysymbol":"US$","price":"10.20","listprice":"","adddate":"4/23/2013"}]}'; 通过这样做,我成功地判断了成功是真是假

我被这个Json数据困住了:

我在变量中有此信息:

$mydata= '{"success":true,"data":[{"sku":203823,"issoldout":false,"isShowDiscount":false,"discount":0,"currencycode":"USD","currencysymbol":"US$","price":"10.20","listprice":"","adddate":"4/23/2013"}]}';
通过这样做,我成功地判断了成功是真是假:

$obj = JSON_decode($mydata, true);

if ($obj['success'] != 1) {
    print 'Does Not Exist<br />';
}
else{
    print $obj['success']."<br/>";
}
$obj=JSON\u decode($mydata,true);
如果($obj['success']!=1){
打印“不存在”
; } 否则{ 打印$obj['success']。“
”; }
其中
echo$obj['success']等于1,如果为False,则等于0

让我陷入困境的是如何获取“data”:[]数组中的键

我尝试了
打印$obj['data'][0]
打印$obj['data']['sku']但两者均未返回任何内容


任何关于如何获取信息的想法都将受到欢迎。

$data
是一个数组,因此:

echo$obj['data']应打印“数组”


echo$obj['data'][0]['sku']
应打印“203823”

$data
是一个数组,因此:

echo$obj['data']应打印“数组”


echo$obj['data'][0]['sku']应该打印“203823”

查看我的注释,此代码运行成功

$mydata= '{"success":true,"data":[{"sku":203823,"issoldout":false,"isShowDiscount":false,"discount":0,"currencycode":"USD","currencysymbol":"US$","price":"10.20","listprice":"","adddate":"4/23/2013"}]}';

$obj = json_decode($mydata, TRUE);

if ($obj['success'] != 1) {
  print 'Does Not Exist<br />';
}
else{
  print $obj['success']."<br/>";
}
$mydata='{“success”:true,“data”:[{“sku”:203823,“issoldout”:false,“isShowDiscount”:false,“折扣”:0,“currencycode”:“USD”,“currencysymbol”:“US$”,“price”:“10.20”,“listprice”:“adddate”:“4/23/2013”}];
$obj=json_decode($mydata,TRUE);
如果($obj['success']!=1){
打印“不存在”
; } 否则{ 打印$obj['success']。“
”; }
查看我的注释,此代码运行成功

$mydata= '{"success":true,"data":[{"sku":203823,"issoldout":false,"isShowDiscount":false,"discount":0,"currencycode":"USD","currencysymbol":"US$","price":"10.20","listprice":"","adddate":"4/23/2013"}]}';

$obj = json_decode($mydata, TRUE);

if ($obj['success'] != 1) {
  print 'Does Not Exist<br />';
}
else{
  print $obj['success']."<br/>";
}
$mydata='{“success”:true,“data”:[{“sku”:203823,“issoldout”:false,“isShowDiscount”:false,“折扣”:0,“currencycode”:“USD”,“currencysymbol”:“US$”,“price”:“10.20”,“listprice”:“adddate”:“4/23/2013”}];
$obj=json_decode($mydata,TRUE);
如果($obj['success']!=1){
打印“不存在”
; } 否则{ 打印$obj['success']。“
”; }
$mydata['data']
包含一个对象数组

json
中,
{..}
内容用于对象,
[..]
用于数组

那么你会去吗

foreach($obj['data'] as $items)
{
    echo $items['sku'];
}
我使用的是
foreach
,因为JSON结果中可能有多个对象

$mydata['data']
包含一个对象数组

json
中,
{..}
内容用于对象,
[..]
用于数组

那么你会去吗

foreach($obj['data'] as $items)
{
    echo $items['sku'];
}

我使用的是
foreach
,因为JSON结果中可能有多个对象。

在mydata字符串周围使用单引号。字符串末尾也缺少分号。JSON_decode实际上是所有JSON_decode.fixed。只是复制粘贴错误。在mydata字符串周围使用单引号。字符串末尾也缺少分号。JSON_decode实际上是所有JSON_decode.fixed。只是一个复制粘贴错误。