日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php 递归实现无限极分类和排序_PHP无限级分类实现层级值间用字符串拼接

發布時間:2025/3/21 php 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php 递归实现无限极分类和排序_PHP无限级分类实现层级值间用字符串拼接 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目:
如下數組,實現這么一個結果value=10-101-1011,label=萬達-蜘蛛俠-已購票,其實就是層級值間用字符串拼接。

$example=array(array('value'=>'10','label'=>'萬達','options'=>array(array('value'=>'101','label'=>'蜘蛛俠','options'=>array(array('value'=>'1011','label'=>'已購票')),),array('value'=>'102','label'=>'復仇者聯盟'),)),array('value'=>'11','label'=>'紅星影城','options'=>array(array('value'=>'110','label'=>'速度與激情4'),array('value'=>'111','label'=>'煎餅俠'),)),);

需求:
1、無限極。
2、用遞歸的方式實現(似乎也就只能用遞歸的方式實現,如有其他實現方式,歡迎留言評論)。

實現步驟

1、循環數組。
2、判斷當前value值與目標值是否相等,相等時,把value值與label值記錄到新的自增長的數組里,不等時,用continue跳過循環。
3、判斷options是否存在,不存在不做處理,存在則遞歸調用當前的方法,把options的數組,options選中的值(這里默認選中第一個),還有2中新的數組傳回去。
4、把2中得到的新數組循環,將value和label的值拼接并加上"-"符號,最后把多余的"-"符號用rtrim函數去除。
5、完成,把結果返回。

代碼示例

public function recursion($example,$value,$tmp=array()){ // global $tmp; 數組遞歸不回傳,這么定義也行foreach($example as $k=>$v){if($value==$v['value']){$arr['val']=$v['value'];$arr['lab']=$v['label'];$tmp[]=$arr;}else{continue;}if($v['options']){return $this->recursion($v['options'],$v['options'][0]['value'],$tmp);}}$val=$lab="";if(!empty($tmp)){foreach($tmp as $v){$val.=$v['val'].'-';$lab.=$v['lab'].'-';}$val=rtrim($val,'-');$lab=rtrim($lab,'-');}return array('value'=>$val,'label'=>$lab);}

調用輸出

//調用 $res=$this->recursion($example,10); print_r($res);die;//輸出 Array ([value] => 10-101-1011[label] => 萬達-蜘蛛俠-已購票 ) 以上內容希望幫助到大家,很多PHPer在進階的時候總會遇到一些問題和瓶頸,業務代碼寫多了沒有方向感,不知道該從那里入手去提升,對此我整理了一些資料,包括但不限于:分布式架構、高可擴展、高性能、高并發、服務器性能調優、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql優化、shell腳本、Docker、微服務、Nginx等多個知識點高級進階干貨需要的可以免費分享給大家,需要請戳這里鏈接 或 者關注咱們下面的知乎專欄PHP架構師圈子?zhuanlan.zhihu.com

總結

以上是生活随笔為你收集整理的php 递归实现无限极分类和排序_PHP无限级分类实现层级值间用字符串拼接的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。