比如数组: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交叉合并数组的办法
基础教程推荐
猜你喜欢
- laravel ORM关联关系中的 with和whereHas用法 2023-03-02
- thinkphp3.2.3框架动态切换多数据库的方法分析 2023-03-19
- PHP命名空间简单用法示例 2022-12-01
- 使用PHP开发留言板功能 2023-03-13
- 在Laravel中实现使用AJAX动态刷新部分页面 2023-03-02
- PHP获取MySQL执行sql语句的查询时间方法 2022-11-09
- php array分组,PHP中array数组的分组排序 2022-08-01
- PHP中的错误及其处理机制 2023-06-04
- laravel 解决多库下的DB::transaction()事务失效问题 2023-03-08
- PHP实现Redis单据锁以及防止并发重复写入 2022-10-12