PHP数组对象与Json转换操作实例分析
本文实例讲述了PHP数组对象与Json转换操作。分享给大家供大家参考,具体如下:
代码
$v){
if(gettype($v)=='array'||getType($v)=='object')
$e[$k]=(object)arrayToObject($v);
}
return(object)$e;
}
//对象转数组
functionobjectToArray($e){
$e=(array)$e;
foreach($eas$k=>$v){
if(gettype($v)=='resource')return;
if(gettype($v)=='object'||gettype($v)=='array')
$e[$k]=(array)objectToArray($v);
}
return$e;
}
//对象转数组
functionobject_array($array){
if(is_object($array)){
$array=(array)$array;
}
if(is_array($array)){
foreach($arrayas$key=>$value){
$array[$key]=object_array($value);
}
}
return$array;
}
//json到数组
functionsimple_json_parser($json){
$json=str_replace("{","",str_replace("}","",$json));
$jsonValue=explode(",",$json);
$arr=array();
foreach($jsonValueas$v){
$jValue=explode(":",$v);
$arr[str_replace('"',"",$jValue[0])]=(str_replace('"',"",$jValue[1]));
}
return$arr;
}
echo"
-------------------------------
";
echo"现在的数组
";
$arr=array(
"name"=>"李小龙",
"tel"=>"11111111111",
"age"=>"12",
);
var_dump($arr);
echo"
-------------------------------
";
echo"
数组转对象
";
$obj=arrayToObject($arr);
var_dump($obj);
echo"
输出对象属性
";
var_dump($obj->name);
echo"
-------------------------------
";
echo"
对象转数组
";
$arr=object_array($obj);
var_dump($arr);
echo"
输出数组数值
";
var_dump($arr["name"]);
echo"
-------------------------------
";
echo"
Json到数组
";
$json='{"a":"哈哈","b":"我","c":"数","d":"一","e":3,"f":2,"g":1,"h":"别生气了"}';
$arr=simple_json_parser($json);
var_dump($arr);
echo"
官方换种方法
";
echo"对象
";
var_dump(json_decode($json));
$a=json_decode($json);
echo"
属性:";
echo$a->a;
echo"
数组
";
var_dump(json_decode($json,true));
echo"
-------------------------------
";
echo"
数组到Json
";
var_dump($arr);
echo"
";
var_dump(json_encode($json,JSON_HEX_APOS));
输出
-------------------------------
现在的数组
array(3){["name"]=>string(9)"李小龙"["tel"]=>string(11)"11111111111"["age"]=>string(2)"12"}
-------------------------------
数组转对象
object(stdClass)#1(3){["name"]=>string(9)"李小龙"["tel"]=>string(11)"11111111111"["age"]=>string(2)"12"}
输出对象属性
string(9)"李小龙"
-------------------------------
对象转数组
array(3){["name"]=>string(9)"李小龙"["tel"]=>string(11)"11111111111"["age"]=>string(2)"12"}
输出数组数值
string(9)"李小龙"
-------------------------------
Json到数组
array(8){["a"]=>string(6)"哈哈"["b"]=>string(3)"我"["c"]=>string(3)"数"["d"]=>string(3)"一"["e"]=>string(1)"3"["f"]=>string(1)"2"["g"]=>string(1)"1"["h"]=>string(12)"别生气了"}
官方换种方法
对象
object(stdClass)#2(8){["a"]=>string(6)"哈哈"["b"]=>string(3)"我"["c"]=>string(3)"数"["d"]=>string(3)"一"["e"]=>int(3)["f"]=>int(2)["g"]=>int(1)["h"]=>string(12)"别生气了"}
属性:哈哈
数组
array(8){["a"]=>string(6)"哈哈"["b"]=>string(3)"我"["c"]=>string(3)"数"["d"]=>string(3)"一"["e"]=>int(3)["f"]=>int(2)["g"]=>int(1)["h"]=>string(12)"别生气了"}
-------------------------------
数组到Json
array(8){["a"]=>string(6)"哈哈"["b"]=>string(3)"我"["c"]=>string(3)"数"["d"]=>string(3)"一"["e"]=>string(1)"3"["f"]=>string(1)"2"["g"]=>string(1)"1"["h"]=>string(12)"别生气了"}
string(136)""{\"a\":\"\u54c8\u54c8\",\"b\":\"\u6211\",\"c\":\"\u6570\",\"d\":\"\u4e00\",\"e\":3,\"f\":2,\"g\":1,\"h\":\"\u522b\u751f\u6c14\u4e86\"}""
PS:这里再为大家推荐几款比较实用的json在线工具供大家参考使用:
在线