【问题标题】:Why "echo json_encode" is not printing the array?为什么“echo json_encode”不打印数组?
【发布时间】:2018-10-25 00:51:01
【问题描述】:

首先我有这个:

$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$myArray2print_r

我的数组:

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
        )    
)

感谢您的帮助。

【问题讨论】:

  • 这是因为重音字符。看这个帖子stackoverflow.com/questions/6928982/…
  • 我对@9​​87654332@ 感到很困惑,因为您在问题的末尾给了我们$myArray2 的json 输出,哈哈。如果 Med 的链接不能解决您的问题,请详细说明您的预期输出以及确切的“剂量作用”
  • 可能值得一读UTF-8 all the way through
  • 我已经发布了我的答案!
  • @IsThisJavascript 结果来自 print_r() 而不是 echo json

标签: php sql arrays json backend


【解决方案1】:

我在这里尝试过,但它的工作原理!

<!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>

【讨论】:

    猜你喜欢
    • 2014-04-24
    • 2011-12-01
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    • 2018-06-24
    • 1970-01-01
    • 2020-11-09
    • 2012-07-25
    相关资源
    最近更新 更多