很多站长朋友们都不太清楚php递归拼接多维数组,今天小编就来给大家整理php递归拼接多维数组,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 递归地合并一个或多个数组? 2、 PHP 递归处理数组,并组合成新的数组 3、 php中如何合并几个二维数组成为一个二维数组 4、 php递归拼接数组 5、 PHP递归二维数组怎样一步到位拼接? 6、 php无限极分类递归写入多维数组的方法 递归地合并一个或多个数组?array_merge_recursive
(PHP 4 >= 4.0.1, PHP 5, PHP 7)
array_merge_recursive — 递归地合并一个或多个数组
1.说明
array_merge_recursive ([ array $... ] ) : array
array_merge_recursive() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
如果输入的数组中有相同的字符串键名,则这些值会被合并到一个数组中去,这将递归下去,因此如果一个值本身是一个数组,本函数将按照相应的条目把它合并为另一个数组。需要注意的是,如果数组具有相同的数值键名,后一个值将不会覆盖原来的值,而是附加到后面。
2.参数
...
数组变量列表,进行递归合并。
返回值
一个结果数组,其中的值合并自附加的参数。如果未传递参数调用,则会返回一个空 array。
更新日志
版本 说明
7.4.0 允许不传递参数调用,之前的版本中至少需要一个参数。
3.范例
示例 #1 array_merge_recursive() 例子
array("favorite" => "red"), 5);
$ar2 = array(10, "color" => array("favorite" => "green", "blue"));
$result = array_merge_recursive($ar1, $ar2);
print_r($result);
?>
PHP 递归处理数组,并组合成新的数组/**
* 多维数组递归合并
*/
function multimerge(){
$arrs = func_get_args();
$merged = array();
while($arrs){
$array = array_shift($arrs);
if(!$array){
continue;
}
foreach ($array as $key => $value){
if (is_string($key)){
if (is_array($value) array_key_exists($key, $merged) is_array($merged[$key])){
$merged[$key] = call_user_func(__FUNCTION__, $merged[$key], $value);
}else{
$merged[$key] = $value;
}
}else{
$merged[] = $value;
}
}
}
return $merged;
}
$a1 = array('user' => array('name' => 'tony', 'score' => 23));
$a2 = array('user' => array('name' => 'tony', 'score' => 255), 'name' =>'tom');
$a3 = array('user' => array('name' => 'tony', 'score' => 288, 'test' => 'abc'), 'name' =>'jack');
$result= multimerge($a1, $a2, $a3);
var_dump($result);
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递归拼接数组你的循环有问题,递归的时候没有重新赋值
while($row=mysql_fetch_array($res)){
array_push($arr,$row['ID']);
$arr = $this->push_id($arr,$row['ID']);//注意这行
}
PHP递归二维数组怎样一步到位拼接?foreach 遍历圈套循环也是可以 但是在数据上要做区分 主要做出符合自己逻辑的比较便利
php无限极分类递归写入多维数组的方法$catearray[$row->id] = array($row->id,$row->name,$row->depth));
或
$catearray[$level][$row->id] = array($row->id,$row->name,$row->depth));
关于php递归拼接多维数组的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php递归拼接多维数组 php递归函数的例子的详细内容...