用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()函数中已经给出了现成的转换方式:
mixedjson_decode(
string$json
[,
bool$assoc
=
false[,
int$depth
=
512[,
int$options
=
0]]] )
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 onlyJSON_BIGINT_AS_STRING
is
supported (default is to cast large integers as floats)
Example #1json_decode()的例子
<?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)
}
分享到:
相关推荐
复制代码 代码如下://PHP stdClass Object转array function object_array($array) { if(is_object($array)) { $array = (array)$array; } if(is_array($array)) { foreach($array as $key=>$value) { $array[$...
很多人在PHP输出一个二维数组的时候出现“Fatal error: Cannot use object of type stdClass as array in……”。解决办法分析如下: 现有这样一个二维数组: 复制代码 代码如下:Array ( [0] => stdClass Object ( ...
需要操作的数据: 复制代码 代码如下: $test =Array ( [0] => stdClass Object ( [tags] => 最快的车,Bloodhound,SSC [id] => 48326888 ) ) 从网上查到的方法是 用get_object_vars 把类类型转换成数组 然后在用 ...
复制代码 代码如下:function std_class_object_to_array($stdclassobject){ $_array = is_object($stdclassobject) ? get_object_vars($stdclassobject) : $stdclassobject; foreach ($_array as $key => $value)...
主要介绍了PHP JSON出错:Cannot use object of type stdClass as array解决方法,需要的朋友可以参考下
本文实例讲述了PHP标准类(stdclass)用法。分享给大家供大家参考...object(stdClass)[1] object(stdClass)[1] public 'a' => int 1 public 'b' => int 1 当使用类型转换时,就是使用了标准类 $arr = array('a'=>1);
function array2object($array) { if (is_array($array)) { $obj = new StdClass(); foreach ($array as $key => $val){ $obj->$key = $val; } } else { $obj = $array; } return $obj; } function object2...
PHP中有非常方便的对数组进行重新排序的方法——asort,关于asort的使用方法可以看 ... [0] => stdClass Object ( [username] => 张三 [password] => DQ9uqQW2+UudOsZpQMnyvGG9L+RHZB6LRzBVDvAEL9uOBNf2zTWUnykhZFj
移动友好检查器多网址的移动设备友好检查器(使用Page Speed Insights API) <... ##结果## Array( [c6172f67cbbc2a6a31289e58fafa7cf5] => stdClass Object ( [score] => 99 [pass] => true
mixed PDOStatement::fetchObject ([ string $class_name = "stdClass" [, array $ctor_args ]] ) 获取下一行并作为一个对象返回。此函数(方法)是使用 PDO::FETCH_CLASS 或 PDO::FETCH_OBJ 风格的 PDOStatement::...
如下所示: <?php //php反编码解析json信息 //json_decode(json字符串); $city = array('shandong'=>'jinan','henan'=>'zhengzhou','hebei'=>'shijiazhuang');...//object(stdClass)#1 (3) {
最近在用ThinkPHP开发一个京东服务市场的应用,然而京东服务市场接口返回的数据是个对象数组。然而需要一个个属性取出来放到数组里面然后再利用...* [std_class_object_to_array 将对象转成数组] * @param [stdclass
$ object = new \ StdClass ; $ object -> email = 'something' ; $ m -> setData ( $ object ); /** * false */ var_dump ( $ m -> validate ()); /** * array(1) { * ["email"]=> * array(1) { * [0]=> * string...
该类实现了公共参数对象的功能,是stdClass或Array的可选替代品。 方法: - has( name ) - get( name ) //TODO if is callable return a result - set( key, value ) //TODO - toArray() - toObject() - merge