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

发表评论