First, javascript:
- Code:
/*@desc:数组和对象互转类@param data 待转换的数据*/function arrobj(data){this.data = data/* @desc:对象转数组 */this.objtoarr = function(){ var data = this.data var arr = new Array() for(var i in data){ for(var j in data[i]){ arr[j] = {} } } for(var i in data){ for(var j=0;j<data[i].length;j++){ arr[j][i] = data[i][j] } } return arr}/* @desc:数组转对象 */this.arrtoobj = function(){ var data = this.data var obj = {} for(var i in data){ for(var j in data[i]){ obj[j] = new Array() } } for(var i in data){ for(var j in data[i]){ obj[j][i] = data[i][j] } } return obj}}
- Test:
var data = {id:[1,2,3],title:[‘title1‘,‘title2‘,‘title3‘],content:[‘content1‘,‘content2‘,‘content3‘]}var arrobj = new arrobj(data)var ret = arrobj.objtoarr()console.log(ret)
- Output:
[ { id: 1, title: ‘title1‘, content: ‘content1‘ },{ id: 2, title: ‘title2‘, content: ‘content2‘ },{ id: 3, title: ‘title3‘, content: ‘content3‘ } ]
Second, PHP:
- code:
/*** @desc: Object and Array Transfer class * @author [Lee] <[<[email protected]>]>* @property * Data passed in * @method * Objtoarr object to array * arrtoobj array to object */class arrobj{private $data;/* @desc: Construct method, instantiate data to be converted */public function __construct ($data) {$this->data = $data;} /* @desc: Object to array */public function Objtoarr () {$data = $this->data; $arr = Array (); foreach ($data as $k = + $v) {foreach ($v as $k 1=> $v 1) {$arr [$k 1][$k] = $v 1; }} return $arr;} /* @desc: Array to object */public function Arrtoobj () {$data = $this->data; $obj = Array (); foreach ($data as $k = + $v) {foreach ($v as $k 1=> $v 1) {$arr [$k 1][$k] = $v 1; }} return $arr;}}
- Test:
$data = array( ‘id‘ => array(1,2), ‘title‘ => array(‘title1‘,‘title2‘), ‘content‘ => array(‘content1‘,‘content2‘));$arrobj = new arrobj($data);$ret = $arrobj->arrtoobj();var_dump($ret);
- Output:
array(2) {[0]=>array(3) {["id"]=>int(1)["title"]=>string(6) "title1"["content"]=>string(8) "content1"}[1]=>array(3) {["id"]=>int(2)["title"]=>string(6) "title2"["content"]=>string(8) "content2"}}
JavaScript, php array Object Mutual Transfer class