2013-07-05 57 views
0

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

我使用的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 
    } 

任何人都可以请帮助我吗?

+0

您使用哪种编程语言? PHP? –

+0

是的,我使用php和Zend框架 – user2509780

回答

0

尝试json_encode($阵列)功能http://php.net/manual/en/function.json-encode.php

+0

如果我使用json_encode(),它会给出一个json字符串,如 {“fruits”:[{“name”:“apple”,“origin”:“ kashmir“,”number“:50},{”name“:”orange“,”origin“:”nevada“,”number“:20}]} 但是,我希望输出格式如上。 – user2509780

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"; 
} 

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

+0

serialize()返回一个字符串,就像一个json字符串 – user2509780

+0

看看我编辑的答案 – lexmihaylov

+0

非常感谢。这确实适用于一些编辑。 – user2509780

0
echo "<pre>"; print_r($myarray); echo "</pre>"; 

给你的东西像你问。

+0

谢谢,这确实使它更具可读性。我得到这样的输出:阵列 ( [水果] =>数组 ( [0] => stdClass的对象 ( [名称] =>苹果 [原点] =>克什米尔 [数字] => 50 ) [1] => stdClass的对象 ( [名称] =>橙 [原点] =>内华达 [数字] => 20 )反正我有可能删除单词 “阵列” 和“stdClass的目的”? – user2509780