php数据合并两个数组 php合并字符串函数

php 两个数组合并成为一个二维数组PHP 中的 array_merge_recursive() 函数可以实现
将一个或多个数组的元素的合并起来 , 一个数组中的值附加在前一个数组的后面 。并返回作为结果的数组 。
当有重复的键名时,值不会被覆盖,而是将多个相同键名的值递归组成一个数组 。
array_merge_recursive(array1,array2,array3...)
参数说明
array1 必需 。输入的第一个数组 。
array2 必需 。输入的第二个数组 。
array3 可选 。可指定的多个输入数组 。
例如:
?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 ( [0] = Dog [1] = Cat )
[c] = Cow
)
注:array_merge() 函数也可以实现 , 与 array_merge_recursive()函数不同是,如果键名有重复 , 该键的键值为最后一个键名对应的值(后面的覆盖前面的) 。如果数组是数字索引的,则键名会以连续方式重新索引 。
php 两个普通数组合并为一个普通数组php两个普通数组合并为一个普通数组可以参考下面的代码:
?php
$a=array(1,2,3,4,5);
$b=array(6,7,8,9,10);
$c=array_merge($a,$b);
print_r($c);
?
注:当被合并的数组中有一个数组为空时,可能会出现合并后的数组也为空 。
扩展资料:
PHP常用函数
printf()函数输出格式化的字符串 。
print()函数输出一个或多个字符串 。
parse_str()函数把查询字符串解析到变量中 。
ord() 函数返回字符串第一个字符的 ASCII 值 。
number_format()函数通过千位分组来格式化数字 。
nl2br()函数在字符串中的每个新行 (\n) 之前插入 HTML 换行符 (br /) 。
nl_langinfo()函数返回指定的本地信息 。
参考资料来源:百度百科-PHP (超文本预处理器)
php 俩个二维数组合并,根据相同的值,去合并数组不知道php数据合并两个数组你有没有想过php数据合并两个数组,数组不要使用0、1、2、....这些下标php数据合并两个数组,而是使用主键作为下标,例如php数据合并两个数组:
$test = array (
'20181005' = array('openup'=1,'shenhe'=5,'rejection'=0,'adopt'=1),
'20181006' = array('openup'=1,'shenhe'=5,'rejection'=0,'adopt'=1),
'20181007' = array('openup'=1,'shenhe'=5,'rejection'=0,'adopt'=1)
);
这样是不是怎么合并都简单php数据合并两个数组了呢
如何用Php把这两个数组合并呢?我不是很清楚php数据合并两个数组你是要怎么合并php数据合并两个数组,但是我推测是第二种效果
第一种效果php数据合并两个数组:
?php
$a = Array (
"28150000" = Array (
0 = Array (
'keywordid' = 3653,
'keyword' = '鲜花',
'orders_id' = '81753'
),
'1' = Array (
'keywordid' = 3653,
'keyword' = '鲜花',
'orders_id' = 81757
)
)
,
"28160000" = Array (
0 = Array (
'keywordid' = 3653,
'keyword' = '鲜花',
'orders_id' = 81759
),
1 = Array (
'keywordid' = 3653,
'keyword' = '鲜花',
'orders_id' = 81754
)
)
);
$b = Array (
"28150000" = Array (
1 = Array (
'old_keywordid' = 11933,
'old_keyword' = '鲜花'
)
),
"28160000" = Array (
0 = Array (
'old_keywordid' = 12478,
'old_keyword' = '鲜花'
)
)
)
;
// var_dump($a);
var_dump(array_replace_recursive($a,$b));
运行的结果:
array (size=2)
28150000 =
array (size=2)
0 =
array (size=3)
'keywordid' = int 3653
'keyword' = string '鲜花' (length=6)
'orders_id' = string '81753' (length=5)
1 =
array (size=5)
'keywordid' = int 3653
'keyword' = string '鲜花' (length=6)
'orders_id' = int 81757
'old_keywordid' = int 11933
'old_keyword' = string '鲜花' (length=6)
28160000 =
array (size=2)
0 =
array (size=5)
'keywordid' = int 3653
'keyword' = string '鲜花' (length=6)
'orders_id' = int 81759
'old_keywordid' = int 12478
'old_keyword' = string '鲜花' (length=6)
1 =
array (size=3)
'keywordid' = int 3653
'keyword' = string '鲜花' (length=6)
'orders_id' = int 81754
第二 种效果
由于你的key是数字,即使是用字符串表示 , 在php的数组中也是数字,因此不能够使用array_merge_recursive,真是麻烦,如果你是一维的,我可以写一个函数,但是如果是多维的,就没有办法php数据合并两个数组了
?php
$a = Array (
"28150000" = Array (
0 = Array (
'keywordid' = 3653,
'keyword' = '鲜花',
'orders_id' = '81753'
),
1 = Array (
'keywordid' = 3653,
'keyword' = '鲜花',
'orders_id' = 81757
)
)
,
"28160000" = Array (
0 = Array (
'keywordid' = 3653,
'keyword' = '鲜花',
'orders_id' = 81759
),
1 = Array (
'keywordid' = 3653,
'keyword' = '鲜花',
'orders_id' = 81754
)
)
);
$b = Array (
"28150000" = Array (
1 = Array (
'old_keywordid' = 11933,
'old_keyword' = '鲜花'
)
),
"28160000" = Array (
0 = Array (
'old_keywordid' = 12478,
'old_keyword' = '鲜花'
)
)
)
;
function array_merge_number($array1,$array2){
foreach($array1 as $key=$val){
if($array2[$key]){
$val = array_merge($array2[$key],$val);
}
}
return $array1;
}
var_dump(array_merge_number($a, $b));
运行结果:
array (size=2)
28150000 =
array (size=3)
0 =
array (size=2)
'old_keywordid' = int 11933
'old_keyword' = string '鲜花' (length=6)
1 =
array (size=3)
'keywordid' = int 3653
'keyword' = string '鲜花' (length=6)
'orders_id' = string '81753' (length=5)
2 =
array (size=3)
'keywordid' = int 3653
'keyword' = string '鲜花' (length=6)
'orders_id' = int 81757
28160000 =
array (size=3)
0 =
array (size=2)
'old_keywordid' = int 12478
'old_keyword' = string '鲜花' (length=6)
1 =
array (size=3)
'keywordid' = int 3653
'keyword' = string '鲜花' (length=6)
'orders_id' = int 81759
2 =
array (size=3)
'keywordid' = int 3653
'keyword' = string '鲜花' (length=6)
'orders_id' = int 81754
我很想写一个能够深度合并的函数,但是怎么考虑都不合适 , 28160000是key值,并且是数字性的,记住array中key值只能是数字和字符串,28160000即使你写成'28160000'也只会当成数字,你里面的2 1 0也都是数字,很明显,你不想要28160000被当成数字,但是你想要0 1 2被当成数字,这就很难办php数据合并两个数组了,如果你可以把28160000改成不能解析称数字的字符串,那么请用array_merge_recursive,这个已经足够满足你的需求了:
?php
$a = Array (
"2815-0000" = Array (
0 = Array (
'keywordid' = 3653,
'keyword' = '鲜花',
'orders_id' = '81753'
),
1 = Array (
'keywordid' = 3653,
'keyword' = '鲜花',
'orders_id' = 81757
)
)
,
"2816-0000" = Array (
0 = Array (
'keywordid' = 3653,
'keyword' = '鲜花',
'orders_id' = 81759
),
1 = Array (
'keywordid' = 3653,
'keyword' = '鲜花',
'orders_id' = 81754
)
)
);
$b = Array (
"2815-0000" = Array (
1 = Array (
'keywordid' = 11933,
'old_keyword' = '鲜花'
)
),
"2816-0000" = Array (
0 = Array (
'old_keywordid' = 12478,
'old_keyword' = '鲜花'
)
)
)
;
var_dump(array_merge_recursive($a, $b));
运行结果:
array (size=2)
'2815-0000' =
array (size=3)
0 =
array (size=3)
'keywordid' = int 3653
'keyword' = string '鲜花' (length=6)
'orders_id' = string '81753' (length=5)
1 =
array (size=3)
'keywordid' = int 3653
'keyword' = string '鲜花' (length=6)
'orders_id' = int 81757
2 =
array (size=2)
'keywordid' = int 11933
'old_keyword' = string '鲜花' (length=6)
'2816-0000' =
array (size=3)
0 =
array (size=3)
'keywordid' = int 3653
'keyword' = string '鲜花' (length=6)
'orders_id' = int 81759
1 =
array (size=3)
'keywordid' = int 3653
'keyword' = string '鲜花' (length=6)
'orders_id' = int 81754
2 =
array (size=2)
'old_keywordid' = int 12478
'old_keyword' = string '鲜花' (length=6)
如果你不能的话,那么就使用我写的那个函数
php数组合并两个数组(一个数组做键名,另一个做值)$array_ab=array_combine($arry_a,$array_b);
这是数组php数据合并两个数组的PHP内置函数,函数括号中php数据合并两个数组的前一个数组的值为新数组的索引,后一个参数的值为新数组的值
php两个数组合并问题$arr1 = array(1,1,2,2,6);
$arr2 = array(4,6,1,7,3);
$result = array();
foreach($arr1 as $k = $v){
if (!array_key_exists($v,$result)) $result[$v] = array();
array_push($result[$v], $arr2[$k]);
}
【php数据合并两个数组 php合并字符串函数】关于php数据合并两个数组和php合并字符串函数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读