php实现合并多个数组
php实现合并多个数组
一、总结
1、就是想c++和java里面合并数组那么简单,就是把多个数组的值赋值个一个啊,很简单
二、代码
合并多个数组,不用array_merge(),题目来于论坛。
思路:遍历每个数组,重新组成一个新数组。
代码一:
<?php
function t(){
$c = func_num_args()-1;
$a = func_get_args();
//print_r($a);
for($i=0; $i<=$c; $i++){
if(is_array($a[$i])){
for($j=0; $j<count($a[$i]); $j++){
$r[] = $a[$i][$j];
}
} else {
die('Not a array!');
}
}
return $r;
}
//test
print_r(t(range(1,4),range(1,4),range(1,4)));
echo '<br/>';
$a = array_merge(range(1,4),range(1,4),range(1,4));
print_r($a);
1、传参不接收参数方式:第18、2行,就是php传过去的参数不一定要严格接收,可以不接收,就是实参和形参可以不一一对应,和js很像,和c++和java不像
2、在函数内部接收参数的个数(func_num_args()):第3行,见名知意,中间是num,肯定是连字符连接啊
3、在函数的内部接收参数(func_get_args()):第4行,见名知意,中间是get
4、判断是否为数组(is_array()):可以类推出判断字符串,判断整数啊,等等,就是is_的方式
5、中断程序(die,可带参数):有点像c++和java里面的break
代码二:
//合并多个数组,不用array_merge()
public function myMerge(){
$c = func_num_args();
$a = func_get_args();
$ans=array();
for ($i=0; $i <$c ; $i++) {
if (is_array($a[$i])) {
for ($j=0; $j < count($a[$i]); $j++) {
$ans[]=$a[$i][$j];
}
}else{
die("is not array");
}
}
dump($ans);
} public function myMergeDemo(){
$this->myMerge(range(1, 4),range(1, 4),range(1, 4));
dump(array_merge(range(1, 4),range(1, 4),range(1, 4)));
}
1、二维数组访问方式($a[][]):日常$a[][]方式,和c++和java一样,php里面数组只是二维数组初始化有点和别的不一样,其它都差不多
截图:

php实现合并多个数组的更多相关文章
- JS合并两个数组的方法
		
JS合并两个数组的方法 我们在项目过程中,有时候会遇到需要将两个数组合并成为一个的情况.比如: var a = [1,2,3]; var b = [4,5,6]; 有两个数组a.b,需求是将两个数组合 ...
 - python将两个数组合并成一个数组的两种方法的代码
		
内容过程中,把写内容过程中常用的内容收藏起来,下面的资料是关于python将两个数组合并成一个数组的两种方法的内容,希望能对小伙伴们有帮助. c1 = ["Red","G ...
 - java学习之—合并两个数组并排序
		
/** * 合并两个数组并排序 * Create by Administrator * 2018/6/26 0026 * 下午 4:29 **/ public class MergeApp { pub ...
 - 合并两个数组并去重(ES5和ES6两种方式实现)
		
合并两个数组并去重(ES5和ES6两种方式实现) ES6实现方式 let arr1 = [1, 1, 2, 3, 6, 9, 5, 5, 4] let arr2 = [1, 2, 5, 4, 9, 7 ...
 - Java如何合并两个数组?
		
Java中,如何合并两个数组? 示例 本例展示了如何使用List类的List.Addall(array1.asList(array2))方法和Array类的Arrays.toString()方法将两个 ...
 - LeetCode第[88]题(Java):Merge Sorted Array(合并已排序数组)
		
题目:合并已排序数组 难度:Easy 题目内容: Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as ...
 - 合并两个数组 以KEY 作为键
		
<?php $a= array( array( 'ID'=> 2 ) ); $b= array( arr ...
 - php将一个二维数组按照某个字段值合并成一维数组,如果有重复则将重复的合并成二维数组
		
版权声明:本文为博主原创文章,未经博主允许不得转载. 最近工作中碰到一个问题,用PHP将一个二维数组按照二维数组中的各个项中的某个特定字段值合并成一维数组,如果有重复则将重复的合并成二维数组,生成的二 ...
 - Js $.merge() 函数(合并两个数组内容到第一个数组)
		
定义和用法 $.merge() 函数用于合并两个数组内容到第一个数组. 语法 $.merge( first, second ) 参数 描述 first Array类型 第一个用于合并的数组,合并后 ...
 
随机推荐
- [Recompose] Make Reusable React Props Streams with Lenses
			
If you hard-code a stream of props to target a specific prop, it becomes impossible to reuse that st ...
 - awk条件语句
			
条件语句用于在运行操作之前做一个測试.在前面的章节中,我们看到了模式匹配规则的一些演示样例. 模式匹配规则本质上就是影响输入循环的条件表达式. 在这一部分,我们主要就在action中所使用的条件语句进 ...
 - 关于Windows7下创建Cocos2D-X项目的小问题
			
"新版的Cocos2D-X"已经不支持用上述脚本来创建工程了,而是改为用create-project.py来创建...命令格式: python create-project.py ...
 - HBase源代码分析之HRegion上MemStore的flsuh流程(二)
			
继上篇<HBase源代码分析之HRegion上MemStore的flsuh流程(一)>之后.我们继续分析下HRegion上MemStore flush的核心方法internalFlushc ...
 - vue14 自定义过滤器
			
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
 - centos7 出现please make your choice from 1 to enter..
			
忘了截图了 刚出现的~~ 输入1 回车 输入q 回车 最后回车 便可以正常启动
 - 1.cocos_helloworld
			
在class HelloWorld : public cocos2d::Layer中添加函数 void menuclose(cocos2d::Ref *psender); 实现: void Hello ...
 - 【Docker基本操作】
			
关于镜像的操作 docker search centos 搜索所有centos的镜像 docker pull centos 获取centos镜像 docker images 或 docker imag ...
 - 【Django】Cookie
			
目录 Cookie介绍 操作Cookie 获取Cookie 设置 Cookie 删除Cookie @ Cookie介绍 Cookie的由来 大家都知道==HTTP协议是无状态的==. ==无状态的的意 ...
 - Object-C初体验
			
前几周,看了书,标记了要Coding的例子.(书是写博客,CSDN送的,也可以用C币买) 周末,来搞几个例子. 2015年春,刚刚买Mac的时候,就搞了1个Object-C的HelloWorld,毕竟 ...