php 两表合并成新表并且有序排列

<?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);
?>

时间: 2024-08-04 14:13:21

php 两表合并成新表并且有序排列的相关文章

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

本文实例讲述了php实现两表合并成新表并且有序排列的方法.分享给大家供大家参考. 具体实现方法如下: 复制代码 代码如下: <?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();          funct

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

 具体实现方法如下:   代码如下: <?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) { //获得表长度         retur

代码-执行存储过程的结果如何合并成一个表,急急急!

问题描述 执行存储过程的结果如何合并成一个表,急急急! 以上是存储过程执行后的结果,能否合并成一个表格(如下图的结果),该如何写代码? 解决方案 就像你最后写的那样,用union语句

数据库SQL,将两张表合并为一张表

问题描述 数据库SQL,将两张表合并为一张表 将表table1.table2合并为表table3 table1: id name value 1 阅读 5 1 视频 7 1 游戏 7 2 阅读 1 2 游戏 3 table2 id name value 1 阅读 8 1 视频 9 1 游戏 2 2 阅读 11 3 视频 4 table3: id name value1 value2 1 阅读 5 8 1 视频 7 9 1 游戏 7 2 2 阅读 1 11 2 游戏 3 0 3 视频 0 4 解决

MySQL复制表与表数据到新表的方法

在 MySQL 中拷贝表,将 old_table 表拷贝为 new_table 表. 1. 不拷贝表数据,只拷贝结构.  代码如下 复制代码 CREATE TABLE new_table LIKE old_table2 . 通过 SELECT 查询来拷贝,new_table 表会丢失主键.索引等信息. 引用  代码如下 复制代码 CREATE TABLE new_table AS (     SELECT *     FROM old_table ) 3. 完全拷贝表  代码如下 复制代码 CR

中文Access2000速成教程--1.4 使用“表向导”建立新表

access|教程|速成|中文 第四讲 使用"表向导"建立新表 与中文Visual FoxPro 6一样,在中文Access 2000中也能使用"表向导"从各种各样预先定义好的表中选择字段,并建立新的表,可以使用的操作步骤如下所列: 步骤一.在"员工工时与工资"数据库窗口中选定"对象"列表中的"表"项,然后单击工具栏中的"新建"按钮. 注意:按下键盘上的F11功能键,可以快速切换到&qu

中文Access2000速成教程--1.4 使用“表向导”建立新表_Access

第四讲 使用"表向导"建立新表 与中文Visual FoxPro 6一样,在中文Access2000中也能使用"表向导"从各种各样预先定义好的表中选择字段,并建立新的表,可以使用的操作步骤如下所列: 步骤一.在"员工工时与工资"数据库窗口中选定"对象"列表中的"表"项,然后单击工具栏中的"新建"按钮. 注意:按下键盘上的F11功能键,可以快速切换到"数据库"窗体. 步

sql纵向表转成横向表

declare @tab table(Class varchar(20),Student varchar(20),Course varchar(50),Grades decimal(7,2));insert into @tab(Class,Student,Course,Grades) values('A班','张三','语文',60);insert into @tab(Class,Student,Course,Grades) values('A班','张三','数学',70);insert in

C# linq 两个表,列名一样,但数据无关联,想合并为一个表

问题描述 C# linq 两个表,列名一样,但数据无关联,想合并为一个表 我有两个表 ,里面的列名结构都是一样的,但是id等数据都是不一样,我想将这两个表合并为一个表,在页面上显示.我是将这两个表都放进各自的泛型集合里,但是就变成两个类型了,如何将这两个表合并成一个表呢?或者用linq的话怎么写呢,这两表之间没什么关联,单纯只是想合并成一个表而已?求教~~~ (只是想在查询时,将这两个表合并为一个表进行查询,并不想更改这两个表的数据) 解决方案 左边或者右边select转换成另一个类型,然后co