php数组排序

无限极分类里面有时候你须要使用递归来将pid替换为对应的上级分类的名称,提升程序的友好度。php

/**
     * 给pid添加名称
     * pid为零即顶级栏目
     * 不为零找出对应栏目id将此栏目名称赋给下级栏目
     * @param $data
     * @return array
     */
    protected function addPidName($data)
    {
        static $ret=array();

        foreach($data as $k=>$v){
            if($v['pid'] != 0){
                foreach ($data as $k1=>$v1){
                    if ($v['pid'] == $v1['catId']){
                        $v['pname'] = $v1['name'];
                        $ret[] = $v;
                        break;//为节约资源,达到目标就中止循环
                    }
                }
            }else{
                $v['pname'] = '顶级栏目';
                $ret[] = $v;
            }
        }
        $ret = array_reverse($ret);//foreach后得出数组为反序,须要再次逆排
        return $ret;
    }

另附上php经常使用排序函数:数组

  • sort() - 以升序对数组排序
  • rsort() - 以降序对数组排序
  • asort() - 根据值,以升序对关联数组进行排序
  • ksort() - 根据键,以升序对关联数组进行排序
  • arsort() - 根据值,以降序对关联数组进行排序
  • krsort() - 根据键,以降序对关联数组进行排序
相关文章
相关标签/搜索