0

我已经从 stdclass 对象转换了这个数组。

我正在使用 var_dump 打印数组的输出,如下所示:

array (size=1)
  'fruits' => 
    array (size=2)
      0 => 
        object(stdClass)[2]
            public 'name' => string 'apple' (length=5)
            public 'origin' => string 'kashmir' (length=7)
            public 'number' => int 50
      1 => 
        object(stdClass)[1]
            public 'name' => string 'orange' (length=6)
            public 'origin' => string 'nevada' (length=6)
            public 'number' => int 20

我知道 var_dump 也给出了数据类型和长度。但是,我希望输出是这样的:

1.{
   'name':'apple',
   'origin':'kashmir',
   'number':50
   },
2.{
  'name':'orange',
  'origin':'nevada',
  'number':20
  }

有人可以帮我吗?

4

3 回答 3

0

尝试 json_encode($array) 函数 http://php.net/manual/en/function.json-encode.php

于 2013-07-05T13:12:32.260 回答
0

如果您想要与示例相同的输出,您可能需要实现一个序列化程序。您还可以使用以下功能: print_rserialize

编辑

试试这个脚本:

foreach($array['fruits'] as $key=>$fruit) {
   echo ($key+1) . ".{\n";
   echo "\t'name':'$fruit->name',\n";
   echo "\t'number':'$fruit->number'\n";
   echo "},\n";
}

请注意,我没有测试过这个脚本。

于 2013-07-05T13:32:42.567 回答
0
echo "<pre>"; print_r($myarray); echo "</pre>";

这给出了你问的东西。

于 2013-07-05T13:32:53.403 回答