[英]why Printing JSON in PHP via echo json_encode() Not show values but NULL some time?
[英]Why “echo json_encode” is not printing the array?
首先我有这个:
$myArray = getDatabaseData($p1);
header('Content-Type: application/json');
echo json_encode($myArray );
这运行良好,json数据的回显正常运行。
但是现在我想添加另一个数组数据来接收来自其他查询的数据。 像这样:
$myArray = getDatabaseData($p1); //returns 2 dimensions array
$myArray2 = getDatabaseData2($p2); //returns 2 dimensions array
$finalArray = array();
$finalArray['data1'] = $myArray;
$finalArray['data2'] = $myArray2;
header('Content-Type: application/json');
echo json_encode($finalArray);
并没有做回声。
我发现如果我echo json_encode($myArray);
它做回声。 但是如果我echo json_encode($myArray2);
它不是。
注意: getDatabaseData函数仅对数据库执行一次查询。 getDatabaseData2执行4,然后将其合并到单个数组中。 是因为我在getDatabaseData2
函数中合并了多个数据库查询?
这是$myArray
和$myArray2
的print_r :
myArray的:
Array
(
[values] => Array
(
[0] => 0
[1] => 2
[2] => 3
[3] => 2
[4] => 7
[5] => 17
[6] => 6
[7] => 5
[8] => 9
[9] => 0
)
[keys] => Array
(
[0] => G. M.
[1] => G. S.
[2] => Cruz.
[3] => At.
[4] => Rem. C.
[5] => Rem. S.
[6] => Fs.
[7] => Rec.
[8] => B. P.
[9] => V. F.
)
)
myArray2:
Array
(
[names] => Array
(
[77] => André
[78] => Daniel
[79] => Rúben
[80] => Ant�nio
[81] => João
[83] => João
)
[nums] => Array
(
[77] => 0
[78] => 2
[79] => 0
[80] => 0
[81] => 0
[83] => 6
)
[nums2] => Array
(
[77] => 0
[78] => 0
[79] => 4
[80] => 0
[81] => 3
[83] => 0
)
)
谢谢您的帮助。
在这里,我尝试了,但是它起作用了!
<!DOCTYPE html>
<html>
<head>
<title>My Title</title>
</head>
<body>
<?php
$arr = array(array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5),array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5));
$arr2 = array(array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5),array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5),array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5));
$finalArray = [];
$finalArray[] = $arr;
$finalArray[] = $arr2;
echo json_encode($finalArray); die();
?>
</body>
</html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.