由于大小,我将发布的数据作为JSON数据块发送到服务器。到达后,我使用json_decode
对其进行解码,然后开始我的业务。我遇到的问题是我无法访问索引中的值。当我print_r
数组时,它显示了所有内容,但是尝试在索引处回显值则什么也没有显示。为什么回声不起作用?这是我正在尝试的:
$content = json_decode($_POST['result']);
print_r($content); //works
echo $content["rowCount"]; //doesn't work
print_r($content);
的输出内容如下:
stdClass对象([prodName] => [company] => [runTime] => [adLine] => [年份] => [代理商] => [vimeo] => [笔记] => [displayOrder] => [infoId] => [prodName1] =>测试[company1] =>测试[runTime1] => 0 [adLine1] => [vintage1] => 0 [agency1] => [vimeo1] => https://vimeo.com/ [notes1] => [displayOrder1] => 0 [infoId1] => 339 [rowCount] => 1)
答案 0 :(得分:2)
默认情况下,json_decode
会将其转换为stdClass对象。如果需要关联数组,请传递true
作为第二个参数。
http://php.net/manual/en/function.json-decode.php
<?php
$content = json_decode($_POST['result'], true);
...
答案 1 :(得分:1)
您应该尝试将true
作为第二个参数传递给json_decode()
函数:
$content = json_decode($_POST['result'], true);
或者...将数据作为对象访问:
echo $content->rowCount;
答案 2 :(得分:1)
print_r输出是不言自明的。您会看到print_r输出说它是一个stdClass对象。因此,您需要使用$ content-> key_name访问它们。 我不确定您是否具有用于json_encode的正确格式的数组。