|
|
发表于 2019-11-6 23:43:53
|
显示全部楼层
分析了下,即便用array_search等函数也只不过把遍历过程写进了函数,实际查找还是需要每次都遍历数组。
解决根本问题需要在首次遍历数组时就把它复制进有索引的新数组,后期只需读新数组取键值即可。
我的方法是:
[ol]1,'area'=>'北京','pid'=>0),array('id'=>4,'area'=>'易县','pid'=>3),array('id'=>3,'area'=>'保定','pid'=>2),array('id'=>2,'area'=>'河北','pid'=>0),array('id'=>5,'area'=>'海淀','pid'=>1),array('id'=>6,'area'=>'浙江','pid'=>0),array('id'=>7,'area'=>'杭州','pid'=>6),array('id'=>8,'area'=>'广东','pid'=>0),array('id'=>9,'area'=>'深圳','pid'=>8));run($arr,0);?>[/ol]复制代码
但是这代码有个问题,二级地区的话没有上级城区索引。
还是先用你那个吧……三级联动你可以去看看网上用JS怎么写,然后用PHP弄出来,我记得不用写这么多行啊,我以前的三级联动抛开JS应该可以做到20行以内写完啊 |
|