比如数组:array1 = array('a', 'b', 'c');array2 = array('1', '2', '3');比如数组: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(
希望能实现结果 array3 = array('a', '1', 'b', '2', 'c', '3'); 这种效果,
方法一:
php"> 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]);//将数组压入新的变量 topstudy.com点cn 整理
}
}
return $arr;
}
其实原理都一样:都是以长度较长的作为遍历的基准,然后交叉插入新的数组中,在循环过程中需要判断是否会下标越界
沃梦达教程
本文标题为:php交叉合并数组的办法
猜你喜欢
- PHP简单实现二维数组的矩阵转置操作示例 2022-10-02
- 用nohup命令实现PHP的多进程 2023-09-02
- PHP中PDO事务处理操作示例 2022-10-15
- laravel实现按月或天或小时统计mysql数据的方法 2023-02-22
- php微信公众号开发之秒杀 2022-11-23
- Laravel balde模板文件中判断数据为空方法 2023-08-30
- laravel通用化的CURD的实现 2023-03-17
- PHP仿tp实现mvc框架基本设计思路与实现方法分析 2022-10-18
- PHP实现微信支付(jsapi支付)流程步骤详解 2022-10-09
- windows下9款一键快速搭建PHP本地运行环境的好工具(含php7.0环境) 2023-09-02