php陣列與樹相互轉化方法

2021-10-06 08:29:41 字數 1326 閱讀 6724

工作中總結的樹和陣列相互轉換的函式, 樹轉陣列中自動新增了縮排字段, 方便列表展示時新增縮排效果

class tree

else }}

if($level == 0) return $tem_arr[$child_name];

return $tem_arr;

}/**

* 陣列轉順序陣列

* @param $arr array 待轉化的陣列

* @param $relation_field string 需要加關係縮排的字段

* @param $id_str string id欄位名

* @param $pid_str string pid欄位名

* @param $child_name string 將要存放的孩子名稱

* @return array

* @throws

*/static function array2orderarr($arr,$relation_field='',$id_str='id',$pid_str='pid',$child_name='child', $topparentidval = '')

// 進行樹關係排序

self::$tem_arr = array();

self::_selfjoinarrayorder($arr,$topparentidval,0,$id_str,$pid_str,$child_name);

// 修飾層級 需要設定relation_field引數

if( !empty($relation_field) and !empty(self::$tem_arr) and isset(self::$tem_arr[0][$relation_field]) )}}

return self::$tem_arr;

}/**

* 自連線陣列順序化

* @param $arr array 待轉化的陣列

* @param $top_pid_value int 根級pid 要求頂級父id為0

* @param $level int 自動給

* @param $id_str string id欄位名

* @param $pid_str string pid欄位名

* @param $child_name string 將要存放的孩子名稱

*/static private function _selfjoinarrayorder(&$arr,$top_pid_value=0,$level=0,$id_str='id',$pid_str='pid',$child_name='child')}}

}

PHP 物件和陣列的相互轉化

物件和陣列的相互轉化在開發中也是很常見,一般不是多維的情況下直接 array 和 object 就可搞定了,多維的話,遍歷下也就可以了 php 物件和陣列的相互轉化 link php分享平台 class test 物件轉陣列,使用get object vars返回物件屬性組成的陣列 function...

List,陣列,map,set 相互轉化

list 陣列 listlist new arraylist list.add tom list.add jerval list.add weisi object objects list.toarray 返回object陣列 system.out.println objects arrays.to...

PHP 字串與陣列間的相互轉化

php中陣列與字串經常有需要轉化的時候,在其他語言中可能會非常麻煩。但在php中,已經為我們提供了兩個方法來實現這一功能,它們的用法如下 1.字串轉化為陣列 explode 方法 label 張三,李四,王五,趙六 labelarray explode label 為分隔符,label為要操作的變數...