• 技术文章 >后端开发 >php教程

    php实现两表合并成新表并且有序排列的方法_PHP教程

    2016-07-13 10:12:16原创368

    php实现两表合并成新表并且有序排列的方法


    具体实现方法如下:

    代码如下:

    /**
    la (3,5,8,11)
    lb(2,6,8,9,11,15)
    合并为lc,有序排列。
    用php实现,不能用sort之类的函数!!!!
    **/
    class union {
    var $lista = array();
    var $listb = array();
    var $listc = array();

    function getlenght($arr) { //获得表长度
    return count($arr);
    }

    function getelement($arr, $n) { //获取表中第n个元素,返回
    return $e = $arr[$n] ? $arr[$n] : '';
    }

    function listinsert($arr, $e) { //表末尾插入元素
    $arr[] = $e;
    return $arr;
    }
    }
    $phpig = new union();
    $lista = $phpig->lista = array(3, 5, 8, 11);
    $listb = $phpig->listb = array(2, 6, 8, 9, 11, 15);
    $listc = $phpig->listc;
    $lena = $phpig->getlenght($lista); //取得表大小
    $lenb = $phpig->getlenght($listb);
    $i = $j = 0;
    while($i < $lena && $j < $lenb) {
    $ea = $phpig->getelement($lista, $i);
    $eb = $phpig->getelement($listb, $j);
    if($ea <= $eb) {
    $listc = $phpig->listinsert($listc, $ea);
    ++$i;
    } else {
    $listc = $phpig->listinsert($listc, $eb);
    ++$j;
    }
    }
    while($i < $lena) {
    $ea = $phpig->getelement($lista, $i);
    $listc = $phpig->listinsert($listc, $ea);
    ++$i;
    }
    while($j < $lenb) {
    $eb = $phpig->getelement($listb, $j);
    $listc = $phpig->listinsert($listc, $eb);
    ++$j;
    }
    print_r($listc);
    ?>

    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/922887.htmlTechArticlephp实现两表合并成新表并且有序排列的方法 具体实现方法如下: 代码如下: ?php /** la (3,5,8,11) lb(2,6,8,9,11,15) 合并为lc,有...

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:php网页病毒清除类,php网页病毒清除_PHP教程 下一篇:php提取字符串中网站url地址的方法,字符串url_PHP教程

    相关文章推荐

    • php Swoole实现毫秒定时计划任务(详解)• 【吐血整理】28个关于PHP核心技术的面试题,助力跳槽!• PHP开源社区cms化,可以一键装配,更完善了~欢迎使用~ • Video-03 No.2 PHP根本语法 • codeigniter input post汉语不能提交

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网