PHP合并数组几种方式总结
PHP 中的 array_merge()、array_merge_recursive()函数可以实现
array_merge() 函数把两个或多个数组合并为一个数组。
如果键名有重复,该键的键值为最后一个键名对应的值(后面的覆盖前面的)。如果数组是数字索引的,则键名会以连续方式重新索引。
注意:如果仅仅向 array_merge() 函数输入了一个数组,且键名是整数,则该函数将返回带有整数键名的新数组,其键名以 0 开始进行重新索引。
array_merge(array1,array2,array3...)
参数说明
array1 必需。输入的第一个数组。
array2 必需。输入的第二个数组。
array3 可选。可指定的多个输入数组。
例如:
《?php
$a1=array(“a“=》“Horse“,“b“=》“Dog“);
$a2=array(“c“=》“Cow“,“b“=》“Cat“);
print_r(array_merge($a1,$a2));
?》
输出:
Array ( [a] =》 Horse [b] =》 Cat [c] =》 Cow )
仅使用一个数组参数:
《?php
$a=array(3=》“Horse“,4=》“Dog“);
print_r(array_merge($a));
?》
输出:
Array ( =》 Horse =》 Dog )
array_merge_recursive() 函数与array_merge()函数不同的是,当有重复的键名时,值不会被覆盖,而是将多个相同键名的值递归组成一个数组。
例如:
《?php
$a1=array(“a“=》“Horse“,“b“=》“Dog“);
$a2=array(“c“=》“Cow“,“b“=》“Cat“);
print_r(array_merge_recursive($a1,$a2));
?》
输出:
Array (
[a] =》 Horse
[b] =》 Array ( =》 Dog =》 Cat )
[c] =》 Cow
)
VB中控件数组是什么意思
具有相同名称、类型以及事件过程的一组控件。每一个控件具有一个唯一的索引。当数组中的一个控件识别某一事件时,它将调用此控件组的相应事件过程,并把相应索引作为参数传递,允许您用代码决定是哪一个控件识别此事件。
构造一一个函数,把两个升序数组合并成一一个升序数组,主程序完成数据的输入和
以C语言为例,可以这样实现
这个是合并函数
void arrayMerge(int*p1,int len1,int* p2,int len2,int* p3)
{
int i, j, k;
i = j = k=0;
while (i《len1&&j《len2)
{
if (p1[i] 《 p2[j])
{
p3[k++] = p1[i++];
}
else
{
p3[k++] = p2[j++];
}
}
while (i 《 len1)
{
p3[k++] = p1[i++];
}
while (j 》 len2)
{
p3[k++] = p2[j++];
}
}
这个是Main函数
void main()
{
int a = {1,3,4,6,9};
int b = {1,2,3,4,5,6,7,8,9};
int c;
int len1 = sizeof(a) / sizeof(a);
int len2 = sizeof(b) / sizeof(b);
int len3 = len1 + len2;
arrayMerge(a, len1, b, len2, c);
for (int i = 0; i 《 len3; ++i)
{
printf(“%d,“, c[i]);
}
}
-arraymerge