十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
把php多个后台合并成一个的方法:
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:主机域名、网站空间、营销软件、网站建设、福安网站维护、网站推广。
1.首先我们需要创建几个实例数组,代码及浏览器运行效果如图
2.要实现我们想要的效果,我们需要用到array_merge()函数,该函数具体说明如图所示
3.使用array_merge() 函数,可以合并一个或多个数组,代码及浏览器运行效果如图
4.使用array_merge() 函数,若不同数组间存在相同的键值,则后面合并进来的数组的元素值将会覆盖前面的,否则返回的是False,代码及浏览器运行效果如图
5.使用array_merge() 函数,只传一个数组且键名是数字,会重新生成索引,代码及浏览器运行效果如图
6.总结
1).当我们需要合并数组时
2).使用array_merge() 函数,可以合并一个或多个数组
3).使用array_merge() 函数,若不同数组间存在相同的键值,则后面合并进来的数组的元素值将会覆盖前面的
4).使用array_merge() 函数,只传一个数组且键名是数字,会重新生成索引。
注意事项
PHP有很多实用的函数是大家以前忽略掉的,本系列的文章会为大家详细介绍所有PHP函数
具体实例代码如下:
?php
// 删除数组中相同元素,只保留一个相同元素
function formatArray($array)
{
sort($array);
$tem = "";
$temarray = array();
$j = 0;
for($i=0;$icount($array);$i++)
{
if($array[$i]!=$tem)
{
$temarray[$j] = $array[$i];
$j++;
}
$tem = $array[$i];
}
return $temarray;
}
//测试 调用函数
$array = array('aa','bb','aa',3,4,5,5,5,5,'bc');
$arr = formatArray($array);
print_r($arr);
?
你的数组源一看就不是php数组!! 转化后的结构也不是php数组。
php数据结构是 array(key = value); 而且在php数组中,如果有重复的key,则value值会覆盖之前的数据。
?php $__tmpArr = Array ( '0' = Array ( 'name' = 网站更新维护 'time' = 6 ) '1' = Array ( 'name' = 新闻更新 'time' = 9 ) '2' = Array ( 'name' = 网站更新维护 'time' = 8 ) '3' = Array ( 'name' = 发邮件 'time' = 8 ) '4' = Array ( 'name' = banner更新 'time' = 7 ) ) foreach ( $__tmpArr as $__tmp ) { if ( isset( $Datas [ $__tmp [ 'name' ] ] ) ) $Datas [ $__tmp [ 'name' ] ] = $Datas [ $__tmp [ 'name' ] ] + $__tmp [ 'time' ]; else $Datas [ $__tmp [ 'name' ] ] = $__tmp [ 'time' ]; } print_r($Datas);die();
过万没关系,如果一个数组内容占一个机器字长,1万才10K WORD而已,现在机器内存很大,几千万都瞬间就处理完了,完全可以按照一般方法编程。
一般方法的合并数组,要看小标是0、1、2、....还是其它的关键字,相同下标的合并还是相同值的合并,具体细节有区别,流程都是一样的:两次for each把两个数组的内容添加到新数组里面。
你是要把$tpid数组的内容合并吗,可以先弄了一个空数组,for里面归并到这个空数组,for结束之后进行唯一处理,大致逻辑如下:
?php
$result=Array();
for($i=0;$i$num;$i++){
$tpid=$data[$i]['busitype'];
$tpid=explode(".",$tpid,-1);
print_r($tpid);
echo "br";
$result=array_merge($result,$tpid);
}
$result=array_unique($result);
?
补充:
那是array_merge的问题,重复的下标会被合并,你试试看使用array_merge_recursive吧,我无法测试程序,没有你的数据。