php合并两个数组后,弹提示Warning:array_combine()expects parameter 1 to be array, null given in E:\
提示(1):Warning: array_combine() expects parameter 1 to be array, null given in E:\
提示(2): Warning: Invalid argument supplied for foreach
请高手指点指点如何解决这两个提示呢?
<?php
$a1=array("a","b","c","d");
$a2=array("Cat","Dog","Horse","Cow");
$arr=(array_combine($a1,$a2));//合并两个数组
foreach($arr as $key=>$val)
{
echo '键名:'.$key.'键值:'.$val;
}
?> 展开
/*foreach($arr as $key => &$value) {
$value['shop_name']='';
}
unset( $value );
*/
foreach($arr as $k2 =>&$v2) {
$v2['shop_name']='';
foreach($arr2 as $k =>$v) {
if($v2['id'] == $v['id']) {
$v2['shop_name'] = $v['shop_name'];
}
}
}
print_r($arr)
用C语言编程将两个有序数组a,b合并成一个数组c的方法:
基本思想:
1)先在A、B数组中各取第一个元素进行比较,将小的元素放入C数组;
2)取小的元素所在数组的下一个元素与另一数组中上次比较后较大的元素比较,重复上述比较过程,直到某个数组被先排完;
3)将另一个数组剩余元素抄入C数组,合并排序完成。
#include <stdio.h>
void main()
{
int
a[10],b[10],c[20],i,ia,ib,ic;
printf("please input the first array\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
scanf("%d",&b[i]);
printf("\n");
ia=0;ib=0;ic=0;
while(ia<10&&ib<10)
{
if(a[ia]<b[ib])
{
c[ic]=a[ia];
ia++;
}
else{
c[ic]=b[ib];
ib++;
}
ic++;
}
while(ia<10)
{
c[ic]=a[ia];
ia++;
ic++;
}
while(ib<10)
{
c[ic]=b[ib];
ib++;
ic++;
}
for(i=0;i<20;i++)
{
printf("%5d",c[i]);}
}