删除json输出的第一个数组

时间:2013-06-21 14:11:54

标签: php arrays json

我有一个简单的函数输出一个数组,然后我可以只是“json_encode”这很好用。但现在我需要多次这样做。

while($row = mysql_fetch_assoc($resultsol)) {
                    $all[] = jsonoutput("$row[appid]");
}

但是当我json_encode($ all)这个时,它会有第一个“标题”的说法。我不想要的。

我现在得到的(显示样本部分)

[
  - {
      - Firstentry: {
    info1: "bla",
    info2: "bla2",
        cell {
            color: "green",

但我想要的是:

{
      - Firstentry: {
    info1: "bla",
    info2: "bla2",
        cell {
            color: "green",

我看到2个可能的解决方案,json_encode应该从更深/更低的1级开始(总是将它们混合起来),或者在json_encode之前删除第一个数组。

无论哪种方式,我都迷失在2之间。任何帮助都将受到赞赏。

更新:添加数组输出:

好:

object(stdClass)#1 (1) { ["Firstentry"]=> object(stdClass)#2 (11) { ["info1"]=> string(3) "bla" ["info2"]=> string(3) "bla2"

错:

array(63) { [0]=> object(stdClass)#1 (1) { ["Firstentry"]=> object(stdClass)#2 (10) { ["info1"]=> string(3) "bla" ["info2"]=> string(3) "bla2" 

P.S。该函数在jsonoutput上面调用,但这只是输出一个数组,最后我json_encode它。

1 个答案:

答案 0 :(得分:1)

我通过将其更改为:

解决了这个问题
            while($row = mysql_fetch_array($resultsol)) {
                    $output = jsonoutput("$row[appid]");
                    $all = array_merge($all, (array) $output);
            }

然后执行json_encode。