当前位置:首页 > 网站建设 > php教程 > 正文内容

php交叉合并数组教程,两种方法

热淘网2个月前 (04-01)php教程69

   php交叉合并数组                

如数组 array1 = array('a', 'b', 'c');

      array2 = array('1', '2', '3');

希望能实现结果 array3 = array('a', '1', 'b', '2', 'c', '3'); 这种效果,

方法一:

function cross_merge_array($arr1, $arr2)
    {
        $arr1 = array_values($arr1);
        $arr2 = array_values($arr2);
        $count = max(count($arr1), count($arr2));
        $arr = array();
        for ($i = 0; $i < $count; $i++) {
            if ($i < count($arr1)) $arr[] = $arr1[$i]; // 判断,避免下标越界
            if ($i < count($arr2)) $arr[] = $arr2[$i]; // 判断,避免下标越界
        }
        return $arr;
    }

方法二:

function cross_merge_array($arr1, $arr2)
{
     $size = count($arr1) > count($arr22) ? count($arr1) : count($arr2); //取出元素最多的数
     $arr = array();
     for ($i = 0; $i < $count; $i++) {
     if ($i < count($arr1)) {
              array_push($arr, $arr1[$i]); //将数组压入新的变量
         }

         if ($i < count($arr2)) {
              array_push($arr, $arr2[$i]);//将数组压入新的变量
         }
     }
     return $arr;
}

其实原理都一样:

       都是以长度较长的作为遍历的基准,然后交叉插入新的数组中,在循环过程中需要判断是否会下标越界


扫描二维码推送至手机访问。

版权声明:本文由网站标题发布,如需转载请注明出处。

本文链接:https://www.retao5.com/jiaocheng/1551.html

分享给朋友:

相关文章

mysql中的unsigned

mysql中的unsigned

unsigned   既为非负数,用此类型可以增加数据长度! 例如如果    tinyint最大是127,那...

MySQL配置文件my.cnf优化

MySQL配置文件my.cnf优化

MySQL 5.5.13 参数说明: [client] character-set-server = utf8 port    = 3...

php中$_request与$_post、$_get的区别

php中$_request与$_post、$_get的区别

php中有$_REQUEST与$_POST、$_GET用于接受表单数据,当时他们有何种区别,什么时候用那种最好。 一、$_REQUEST与$_POST、$_GET的区别和特点 $_REQU...

PHPnow开启apache的gzip压缩传输功能

PHPnow开启apache的gzip压缩传输功能

一、打开PHPnow 文件下的  php-5.2.12-Win32 文件夹,找到  php-apache2handler.ini配置文件, 打开它并找到zli...

MySQL字段类型的选择与MySQL的查询效率如何选择?

MySQL字段类型的选择与MySQL的查询效率如何选择?

要选择有助于使查询执行更快的列,应遵循如下规则(这里,“BLOB 类型”应该理解为即包含B L O B也包含TEXT 类型): 使用定长列,不使用可变长列。这条准则对被经常修改,从而...

MySQL数据库分表的3种方法

MySQL数据库分表的3种方法

一,先说一下为什么要分表 当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。  &...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。