frans

frans

Do more write less !

  • 财富值1535
  • 威望值20
  • 总积分1945

个人信息

  • 赞了评论
    
    <?php
    /**
     * 数据处理类
     */
    final class Data
    {
        /**
         * 本函数即将废弃
         * @param $data
         * @param string $fieldPri
         * @param string $fieldPid
         * @param int $pid
         * @param null $sid
         * @param int $type 1 获得多层栏目  | 2 获得所有子栏目 3 获得父级栏目 4 判断是否为子栏目
         * @param string $html
         * @param int $level
         * @return array|bool
         */
        static public function channel($data, $fieldPri = 'cid', $fieldPid = 'pid', $pid = 0, $sid = null, $type = 2, $html = "&nbsp;", $level = 1)
        {
            switch ($type) {
                case 1:
                    return self::channelLevel($data, $pid, $html, $fieldPri, $fieldPid, $level);
                case 2:
                    return self::channelList($data, $pid, $html, $fieldPri, $fieldPid, $level);
                case 3:
                    return self::parentChannel($data, $sid, $html, $fieldPri, $fieldPid, $level);
                case 4:
                    return self::isChild($data, $sid, $pid, $fieldPri, $fieldPid);
            }
        }
    
        /**
         * 获得所有子栏目
         * @param $data 栏目数据
         * @param int $pid 操作的栏目
         * @param string $html 栏目名前字符
         * @param string $fieldPri 表主键
         * @param string $fieldPid 父id
         * @param int $level 等级
         * @return array
         */
        static public function channelList($data, $pid = 0, $html = "&nbsp;", $fieldPri = 'cid', $fieldPid = 'pid', $level = 1)
        {
            if (!$data) {
                return array();
            }
            $arr = array();
            $id = 0;
            foreach ($data as $v) {
                if ($v[$fieldPid] == $pid) {
                    $arr[$id] = $v;
                    $arr[$id]['level'] = $level;
                    $arr[$id]['html'] = str_repeat($html, $level - 1);
                    $sArr = self::channelList($data, $v[$fieldPri], $html, $fieldPri, $fieldPid, $level + 1);
                    $arr = array_merge($arr, $sArr);
                    $id = count($arr);
                }
            }
            return $arr;
        }
    
        /**
         * 返回多层栏目
         * @param $data 操作的数组
         * @param int $pid 一级PID的值
         * @param string $html 栏目名称前缀
         * @param string $fieldPri 唯一键名,如果是表则是表的主键
         * @param string $fieldPid 父ID键名
         * @param int $level 不需要传参数(执行时调用)
         * @return array
         */
        static public function channelLevel($data, $pid = 0, $html = "&nbsp;", $fieldPri = 'cid', $fieldPid = 'pid', $level = 1)
        {
            if (!$data) {
                return array();
            }
            $arr = array();
            foreach ($data as $v) {
                if ($v[$fieldPid] == $pid) {
                    $arr[$v[$fieldPri]] = $v;
                    $arr[$v[$fieldPri]]['html'] = str_repeat($html, $level - 1);
                    $arr[$v[$fieldPri]]["Data"] = self::channelLevel($data, $v[$fieldPri], $html, $fieldPri, $fieldPid, $level + 1);
                }
            }
            return $arr;
        }
    
        /**
         * 获得所有父级栏目
         * @param $data 栏目数据
         * @param $sid 子栏目
         * @param string $html 栏目名称前缀
         * @param string $fieldPri 唯一键名,如果是表则是表的主键
         * @param string $fieldPid 父ID键名
         * @return array
         */
        static public function parentChannel($data, $sid, $html = "&nbsp;", $fieldPri = 'cid', $fieldPid = 'pid')
        {
            if (!$data) {
                return array();
            }
            static $arr = array();
            foreach ($data as $v) {
                if ($v[$fieldPri] == $sid) {
                    $arr[] = $v;
                    $sArr = self::parentChannel($data, $v[$fieldPid], $html, $fieldPri, $fieldPid);
                    $arr = array_merge($arr, $sArr);
                }
            }
            return $arr;
        }
    
        /**
         * 判断$s_cid是否是$d_cid的子栏目
         * @param $data 栏目数据
         * @param $sid 子栏目id
         * @param $pid 父栏目id
         * @param string $fieldPri 主键
         * @param string $fieldPid 父id字段
         * @return bool
         */
        static function isChild($data, $sid, $pid, $fieldPri = 'cid', $fieldPid = 'pid')
        {
            $_data = self::channelList($data, $pid, "", $fieldPri, $fieldPid);
            foreach ($_data as $c) {
                //目标栏目为源栏目的子栏目
                if ($c['cid'] == $sid) return true;
            }
            return false;
        }
    
        /**
         * 递归实现迪卡尔乘积
         * @param $arr 操作的数组
         * @param array $tmp
         * @return array
         */
        static function descarte($arr, $tmp = array())
        {
            static $n_arr = array();
            foreach (array_shift($arr) as $v) {
                $tmp[] = $v;
                if ($arr) {
                    self::descarte($arr, $tmp);
                } else {
                    $n_arr[] = $tmp;
                }
                array_pop($tmp);
            }
            return $n_arr;
        }
    
    }
    
    ?>
    
  • 回复了 的评论
    
    <?php
    /**
     * 数据处理类
     */
    final class Data
    {
        /**
         * 本函数即将废弃
         * @param $data
         * @param string $fieldPri
         * @param string $fieldPid
         * @param int $pid
         * @param null $sid
         * @param int $type 1 获得多层栏目  | 2 获得所有子栏目 3 获得父级栏目 4 判断是否为子栏目
         * @param string $html
         * @param int $level
         * @return array|bool
         */
        static public function channel($data, $fieldPri = 'cid', $fieldPid = 'pid', $pid = 0, $sid = null, $type = 2, $html = "&nbsp;", $level = 1)
        {
            switch ($type) {
                case 1:
                    return self::channelLevel($data, $pid, $html, $fieldPri, $fieldPid, $level);
                case 2:
                    return self::channelList($data, $pid, $html, $fieldPri, $fieldPid, $level);
                case 3:
                    return self::parentChannel($data, $sid, $html, $fieldPri, $fieldPid, $level);
                case 4:
                    return self::isChild($data, $sid, $pid, $fieldPri, $fieldPid);
            }
        }
    
        /**
         * 获得所有子栏目
         * @param $data 栏目数据
         * @param int $pid 操作的栏目
         * @param string $html 栏目名前字符
         * @param string $fieldPri 表主键
         * @param string $fieldPid 父id
         * @param int $level 等级
         * @return array
         */
        static public function channelList($data, $pid = 0, $html = "&nbsp;", $fieldPri = 'cid', $fieldPid = 'pid', $level = 1)
        {
            if (!$data) {
                return array();
            }
            $arr = array();
            $id = 0;
            foreach ($data as $v) {
                if ($v[$fieldPid] == $pid) {
                    $arr[$id] = $v;
                    $arr[$id]['level'] = $level;
                    $arr[$id]['html'] = str_repeat($html, $level - 1);
                    $sArr = self::channelList($data, $v[$fieldPri], $html, $fieldPri, $fieldPid, $level + 1);
                    $arr = array_merge($arr, $sArr);
                    $id = count($arr);
                }
            }
            return $arr;
        }
    
        /**
         * 返回多层栏目
         * @param $data 操作的数组
         * @param int $pid 一级PID的值
         * @param string $html 栏目名称前缀
         * @param string $fieldPri 唯一键名,如果是表则是表的主键
         * @param string $fieldPid 父ID键名
         * @param int $level 不需要传参数(执行时调用)
         * @return array
         */
        static public function channelLevel($data, $pid = 0, $html = "&nbsp;", $fieldPri = 'cid', $fieldPid = 'pid', $level = 1)
        {
            if (!$data) {
                return array();
            }
            $arr = array();
            foreach ($data as $v) {
                if ($v[$fieldPid] == $pid) {
                    $arr[$v[$fieldPri]] = $v;
                    $arr[$v[$fieldPri]]['html'] = str_repeat($html, $level - 1);
                    $arr[$v[$fieldPri]]["Data"] = self::channelLevel($data, $v[$fieldPri], $html, $fieldPri, $fieldPid, $level + 1);
                }
            }
            return $arr;
        }
    
        /**
         * 获得所有父级栏目
         * @param $data 栏目数据
         * @param $sid 子栏目
         * @param string $html 栏目名称前缀
         * @param string $fieldPri 唯一键名,如果是表则是表的主键
         * @param string $fieldPid 父ID键名
         * @return array
         */
        static public function parentChannel($data, $sid, $html = "&nbsp;", $fieldPri = 'cid', $fieldPid = 'pid')
        {
            if (!$data) {
                return array();
            }
            static $arr = array();
            foreach ($data as $v) {
                if ($v[$fieldPri] == $sid) {
                    $arr[] = $v;
                    $sArr = self::parentChannel($data, $v[$fieldPid], $html, $fieldPri, $fieldPid);
                    $arr = array_merge($arr, $sArr);
                }
            }
            return $arr;
        }
    
        /**
         * 判断$s_cid是否是$d_cid的子栏目
         * @param $data 栏目数据
         * @param $sid 子栏目id
         * @param $pid 父栏目id
         * @param string $fieldPri 主键
         * @param string $fieldPid 父id字段
         * @return bool
         */
        static function isChild($data, $sid, $pid, $fieldPri = 'cid', $fieldPid = 'pid')
        {
            $_data = self::channelList($data, $pid, "", $fieldPri, $fieldPid);
            foreach ($_data as $c) {
                //目标栏目为源栏目的子栏目
                if ($c['cid'] == $sid) return true;
            }
            return false;
        }
    
        /**
         * 递归实现迪卡尔乘积
         * @param $arr 操作的数组
         * @param array $tmp
         * @return array
         */
        static function descarte($arr, $tmp = array())
        {
            static $n_arr = array();
            foreach (array_shift($arr) as $v) {
                $tmp[] = $v;
                if ($arr) {
                    self::descarte($arr, $tmp);
                } else {
                    $n_arr[] = $tmp;
                }
                array_pop($tmp);
            }
            return $n_arr;
        }
    
    }
    
    ?>
    

    无限极分类!

  • 
    <?php
    /**
     * 数据处理类
     */
    final class Data
    {
        /**
         * 本函数即将废弃
         * @param $data
         * @param string $fieldPri
         * @param string $fieldPid
         * @param int $pid
         * @param null $sid
         * @param int $type 1 获得多层栏目  | 2 获得所有子栏目 3 获得父级栏目 4 判断是否为子栏目
         * @param string $html
         * @param int $level
         * @return array|bool
         */
        static public function channel($data, $fieldPri = 'cid', $fieldPid = 'pid', $pid = 0, $sid = null, $type = 2, $html = "&nbsp;", $level = 1)
        {
            switch ($type) {
                case 1:
                    return self::channelLevel($data, $pid, $html, $fieldPri, $fieldPid, $level);
                case 2:
                    return self::channelList($data, $pid, $html, $fieldPri, $fieldPid, $level);
                case 3:
                    return self::parentChannel($data, $sid, $html, $fieldPri, $fieldPid, $level);
                case 4:
                    return self::isChild($data, $sid, $pid, $fieldPri, $fieldPid);
            }
        }
    
        /**
         * 获得所有子栏目
         * @param $data 栏目数据
         * @param int $pid 操作的栏目
         * @param string $html 栏目名前字符
         * @param string $fieldPri 表主键
         * @param string $fieldPid 父id
         * @param int $level 等级
         * @return array
         */
        static public function channelList($data, $pid = 0, $html = "&nbsp;", $fieldPri = 'cid', $fieldPid = 'pid', $level = 1)
        {
            if (!$data) {
                return array();
            }
            $arr = array();
            $id = 0;
            foreach ($data as $v) {
                if ($v[$fieldPid] == $pid) {
                    $arr[$id] = $v;
                    $arr[$id]['level'] = $level;
                    $arr[$id]['html'] = str_repeat($html, $level - 1);
                    $sArr = self::channelList($data, $v[$fieldPri], $html, $fieldPri, $fieldPid, $level + 1);
                    $arr = array_merge($arr, $sArr);
                    $id = count($arr);
                }
            }
            return $arr;
        }
    
        /**
         * 返回多层栏目
         * @param $data 操作的数组
         * @param int $pid 一级PID的值
         * @param string $html 栏目名称前缀
         * @param string $fieldPri 唯一键名,如果是表则是表的主键
         * @param string $fieldPid 父ID键名
         * @param int $level 不需要传参数(执行时调用)
         * @return array
         */
        static public function channelLevel($data, $pid = 0, $html = "&nbsp;", $fieldPri = 'cid', $fieldPid = 'pid', $level = 1)
        {
            if (!$data) {
                return array();
            }
            $arr = array();
            foreach ($data as $v) {
                if ($v[$fieldPid] == $pid) {
                    $arr[$v[$fieldPri]] = $v;
                    $arr[$v[$fieldPri]]['html'] = str_repeat($html, $level - 1);
                    $arr[$v[$fieldPri]]["Data"] = self::channelLevel($data, $v[$fieldPri], $html, $fieldPri, $fieldPid, $level + 1);
                }
            }
            return $arr;
        }
    
        /**
         * 获得所有父级栏目
         * @param $data 栏目数据
         * @param $sid 子栏目
         * @param string $html 栏目名称前缀
         * @param string $fieldPri 唯一键名,如果是表则是表的主键
         * @param string $fieldPid 父ID键名
         * @return array
         */
        static public function parentChannel($data, $sid, $html = "&nbsp;", $fieldPri = 'cid', $fieldPid = 'pid')
        {
            if (!$data) {
                return array();
            }
            static $arr = array();
            foreach ($data as $v) {
                if ($v[$fieldPri] == $sid) {
                    $arr[] = $v;
                    $sArr = self::parentChannel($data, $v[$fieldPid], $html, $fieldPri, $fieldPid);
                    $arr = array_merge($arr, $sArr);
                }
            }
            return $arr;
        }
    
        /**
         * 判断$s_cid是否是$d_cid的子栏目
         * @param $data 栏目数据
         * @param $sid 子栏目id
         * @param $pid 父栏目id
         * @param string $fieldPri 主键
         * @param string $fieldPid 父id字段
         * @return bool
         */
        static function isChild($data, $sid, $pid, $fieldPri = 'cid', $fieldPid = 'pid')
        {
            $_data = self::channelList($data, $pid, "", $fieldPri, $fieldPid);
            foreach ($_data as $c) {
                //目标栏目为源栏目的子栏目
                if ($c['cid'] == $sid) return true;
            }
            return false;
        }
    
        /**
         * 递归实现迪卡尔乘积
         * @param $arr 操作的数组
         * @param array $tmp
         * @return array
         */
        static function descarte($arr, $tmp = array())
        {
            static $n_arr = array();
            foreach (array_shift($arr) as $v) {
                $tmp[] = $v;
                if ($arr) {
                    self::descarte($arr, $tmp);
                } else {
                    $n_arr[] = $tmp;
                }
                array_pop($tmp);
            }
            return $n_arr;
        }
    
    }
    
    ?>
    
  • 回答了问题 openssl

    php 版本啊 必须 5.4以上!

  • 你安装的基础 还是 高级 ?
    基础配置 cookieKey
    高级 init

    做好了肯定没错!

  • 发表了说说
    一到双休就断签
  • 回复了 的说说
    yii2.0没有完整的视频案例吗
    我要想要啊!
  • 发表了说说
    早上好!
  • 发表了说说
    今天在上地铁遇到咸猪手了,妹子都往我怀里靠了
  • 2015-03-20 已签到
    连续签到1天,获得了5个金钱
经理 等级规则
1945/2000
资料完整度
50/100
用户活跃度
0/100

Ta的关注

6

Ta的粉丝

7

Ta的访客

51