比如数组: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实现创建一个RPC服务操作示例 2023-04-01
- thinkPHP3.2.2框架行为扩展及demo示例 2022-11-07
- TP5(thinkPHP5框架)基于bootstrap实现的单图上传插件用法示例 2023-01-19
- laravel model模型定义实现开启自动管理时间created_at,updated_at 2023-03-02
- TP5 连接多个数据库及使用方法 2023-08-30
- PHP数据加密方式梳理介绍 2023-07-03
- PHP删除数组中指定值的元素常用方法实例分析【4种方法】 2022-11-12
- PHP实现生成数据字典功能示例 2022-10-18
- php中使用array_filter()函数过滤数组实例讲解 2023-05-19
- PHP使用SMTP邮件服务器发送邮件示例 2022-11-16