【原创】将数组按照固定格式输出内容
$arr = [[“name” => “电子产品”,“children”=>[[“name” => “手机”,“children”=>[[“name” => “安卓”,“children”=>[[“name” => “小米”,“children”=>[]],[“name” => “华为”,“children”=>[]],]],[“name” => “苹果”,“children”=>[]]]],[“name” => “笔记本电脑”,“children”=>[]]]],[“name” => “服装”,“children”=>[[“name” => “上衣”,“children”=>[]]]]];
将以上数组,按照最下面的固定格式进行输出:
public function dealArr($arr, $i=0){$str = ”;$start = $i; // 严格定义层级,不受+1的限制if($start == 0){$str = PHP_EOL; // 一开始需要换行处理}foreach($arr as $key=>$val){// 需要添加的空格$brNum = “”;for($j=0; $j<$start; $j++){ // 计算前面所需要填充的空格$brNum .= ” “;}$str .= $brNum.$val[‘name’].PHP_EOL; // 整个前面的空格和后面的换行if(count($val[‘children’]) > 0){ // 如果是数组的话,继续分解$i = $start+1; // 分层次等级$str .= $this->dealArr($val[‘children’], $i);}}return $str;}
数据结果为:
string(131) " 电子产品 手机 安卓 小米 华为 苹果 笔记本电脑 服装 上衣 "