您的位置:首页 > 移动开发 > Objective-C

PHP stdClass Object转array

2014-04-02 22:09 337 查看
用json传过来的数组并不是标准的array,所以需要用这个函数进行转换。

function object_array($array)
{
if(is_object($array))
{
$array = (array)$array;
}
if(is_array($array))
{
foreach($array as $key=>$value)
{
$array[$key] = object_array($value);
}
}
return $array;
}


************************************************************************************

实际上json_decode()函数中已经给出了现成的转换方式:


说明

mixed json_decode ( string
$json
[, bool
$assoc
=
false [, int
$depth
=
512 [, int
$options
=
0 ]]] )
接受一个 JSON 格式的字符串并且把它转换为 PHP 变量


参数

json

待解码的
json
string 格式的字符串。

This function only works with UTF-8 encoded data.

assoc

当该参数为
TRUE
时,将返回 array 而非 object

depth

User specified recursion depth.

options

Bitmask of JSON decode options. Currently only
JSON_BIGINT_AS_STRING
is
supported (default is to cast large integers as floats)

Example #1 [b]json_decode() 的例子[/b]

<?php

$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';

var_dump(json_decode($json));

var_dump(json_decode($json, true));

?>


以上例程会输出:

object(stdClass)#1 (5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}

array(5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: