PHP数组对象和Json
文章描述:
PHP数组、对象和Json是我们常用到的,它们之间有着相互密切的关系,那么这些改如何操作和互转呢?
数组
优点:内存空间占用的少,访问很快,插入、编辑、删除比较慢。
对象
优点:对象有属性和方法,对象可以进行封装、调用、继承等。
Json
优点:数据格式简单、易于读写,可以用在储存和返回给客户端。
数组、对象、Json都有自己的优点,根据自己需求使用,下面就给大家讲解使用方法:
1、定义一个数组,里面存入数据
$arr=array(
"name"=>"霍去病",
"gender"=>"男",
"age"=>"12",
);
下面进行对数组转对象、操作
数组转对象
自定义一个数组转对象方法
function arrayToObject($e) {
if( gettype($e)!='array' ) return;
foreach($e as $k=>$v) {
if( gettype($v)=='array' || getType($v)=='object' )
$e[$k]=(object)arrayToObject($v);
}
return (object)$e;
}
调用这个方法和打印
$obj= arrayToObject($arr);
var_dump($obj);
对象转数组
自定义一个对象转数组方法
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;
}
调用这个方法和打印
$arr=object_array($obj);
var_dump($arr);
自定义一个json数据
$json ='{"a":"团长","b":"带","c":"我","d":"撒"}';
Json转数组
自定义一个json转数组的方法
function simple_json_parser($json) {
$json = str_replace("{","",str_replace("}","", $json));
$jsonValue = explode(",", $json);
$arr = array();
foreach($jsonValue as $v) {
$jValue = explode(":", $v);
$arr[str_replace('"',"", $jValue[0])] = (str_replace('"', "", $jValue[1]));
}
return $arr;
}
调用这个方法
$arr=simple_json_parser($json);
var_dump($arr);
Json转对象
json_decode()
使用php内置函数json_decode转换成对象
var_dump(json_decode($json));
Json转数组
var_dump(json_decode($json,true));
数组到Json
var_dump(json_encode($json, JSON_HEX_APOS));
发布时间:2021/08/06
发表评论