zoukankan      html  css  js  c++  java
  • PHP数组练习

    一、对数组[21,25,11,32,12,35,55,77,66]进行排序,输出结果为:[77 11 66 12 55 21 35 25 32]

    //排序 结果:77 11  66 12 55 21 35 25 32
            $arr = [21,25,11,32,12,35,55,77,66];
            rsort($arr);
            $i = 0;
            $j = 8;
            for ($k=0;$k<=8;$k++){
                if($k%2==0){
                    $arrs[] = $arr[$i];
                    $i = $i+1;
                }else{
                    $arrs[] = $arr[$j];
                    $j = $j-1;
                }
            }
            echo "<pre>";
            print_r($arr);
            echo "<pre>";
            print_r($arrs);
            exit();
    

    二、php 递归 返回数组

    private function tree_data(&$list, $parent){
                $tree = array();
                foreach($list as $row) {
                    if($row['permission_parent_id'] == $parent) {
    
                        $row['children'] = $this->tree_data($list, $row['permission_id']);
                        $tree[] = $row;
                    }
                }
                return $tree;
    }
    

    三、查找子节点上下级

    $data = [ [
                'id' => 167,//实时购买->赎回->理财产品->理财保险->个人业务场景->场景
                'pid'=> 153,
                'se' => 5,
            ], [
                'id' => 12,
                'pid'=> 9,
                'se' => 1,
            ], [
                'id' => 147,//签约
                'pid'=> 96,
                'se' => 5,
            ]];
    	//获取上级所有节点
        private function parent_tree_data($list, $child, &$trees = [])
        {
            $tree = array();
            foreach ($list as $k => $row) {
                if($row['value'] == $child) {
                    $trees[] = $row['sequence'];
                    $this->parent_tree_data($list, $row['sequence'],$trees);
                    //$row['parent'] = $this->parent_tree_data($list, $row['sequence'],$trees);
                    //$tree[] = $row;
                }
            }
            return $trees;
        }
        //获取下级所有节点
        private function children_tree_data($list, $child, &$trees = [])
        {
            $tree = array();
            foreach ($list as $k => $row) {
                if ($row['sequence'] == $child) {
                    $trees[] = $row['value'];
                    $this->children_tree_data($list, $row['value'], $trees);
                    //$row['children'] = $this->children_tree_data($list, $row['value'], $trees);
                    //$tree[] = $row;
                }
            }
    
            return $trees;
        }
        //获取相关所有节点
        public function findOne($data, $array)
        {
            $newArr = [];
            foreach ($data as $k => $v) {
                $newArr[] = $v['id'];
                $newArr[] = $v['pid'];
                $newArr = array_merge($newArr,$this->parent_tree_data($array, $v['pid']),$this->children_tree_data($array, $v['id']));
                //$newArr[] = $this->parent_tree_data($array, $v['pid']);
                //$newArr[] = $this->children_tree_data($array, $v['id']);
            }
            $newArr = array_unique($newArr);
            sort($newArr);
            /*echo "<pre>";
            print_r($newArr);exit();*/
            return $newArr;
        }
        $meng = new Changeofscene;
        $array = $meng->queryChange();
    
  • 相关阅读:
    信息的封装和隐藏
    力扣 20. 有效的括号
    servlet执行原理
    当请求一个Servlet时,后台如何运作?
    req.getAttribute 和 req.getParameter
    Servlet 实现登录页面,并在条件下跳转
    request.getRequestDispatcher(a.jsp).forward(request,response)和response.sendRedirect的差别
    通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connection refused: connect。请验证连接属性,并检查 SQL Server 的实例正在
    Cocos2d-x 3.0 精灵帧缓存(SpriteFrameCache)
    lua 中处理cocos2dx 的button 事件
  • 原文地址:https://www.cnblogs.com/meetuj/p/11133998.html
Copyright © 2011-2022 走看看