PHP数组合并输出2/数组

PHP数组合并输出2/数组,php,arrays,multidimensional-array,array-merge,Php,Arrays,Multidimensional Array,Array Merge,我有一些复杂的问题,但我从来没有得到一个好消息 我有一些功能响应良好,但问题是打印我的查询 我尝试最小化脚本以快速获得帮助 这是关于数组的合并 所以首先 验证功能 函数验证$params{ $query=mysql\u querySELECT某物; 如果$query->num\u rows>0{ $row=$query->fetch\u assoc; //这里将在每个函数上传递2个数组以继续 $data=self::CacheData$row['gid'],$params['sid']; $da

我有一些复杂的问题,但我从来没有得到一个好消息

我有一些功能响应良好,但问题是打印我的查询

我尝试最小化脚本以快速获得帮助

这是关于数组的合并

所以首先

验证功能 函数验证$params{ $query=mysql\u querySELECT某物; 如果$query->num\u rows>0{ $row=$query->fetch\u assoc; //这里将在每个函数上传递2个数组以继续 $data=self::CacheData$row['gid'],$params['sid']; $data['data']=self::Host$row['gid'],$params['sid']; 返回$tmpdata; } 返回false; } 创建ChacheData和Host函数。 静态函数CacheData$gid,$sid{ $cachedata=数组; $querycache=mysql\u querySELECT我需要什么; 如果$querycache->num_rows==1{ $rowcache=$querycache->fetch\u assoc; //将文件发送到数组并检查是否为true 如果self::filesaray'gid'=>$gid,'sid'=>$sid,'expirecache'=>0==true{ 返回数组'gid'=>$gid,'size'=>0,'enabled'=>$rowcache['enabled'],'exists'=>false; } } } 函数主机$gid,$sid{ $query=mysq\u query选择我需要的; 如果$query->num\u rows==0{ 返回false; } $rowgame=$query->fetch\u assoc; //将文件发送到数组并查看是否为/false 如果self::filesaray'gid'=>$gid,'sid'=>$sid==false{ 返回false; } } 好的,这是我的问题

当文件接收到2数组时,它将正常工作,但我不希望所有数组都通过其他函数发送到数组\u merge all

最后一个函数的问题是这样的

函数Filesarray$params{ $default=array'skipcache'=>false,'expirecache'=>86400,'os'=>null; $params=array\u merge$default,$params; //返回$params; 打印$params; } 现在输出将是

阵列5{ [skipcache]=> 野草 [expirecache]=> 第10条 [os]=> 无效的 [gid]=> 第11条 [sid]=> 第11条 } 阵列5{ [skipcache]=> 野草 [expirecache]=> int86400 [os]=> 无效的 [gid]=> 第12条 [sid]=> 第11条 } 基于这个输出,我在数据库中添加了一个,但问题是在数据库中添加了2个,我需要1个数组,而不是2个

所以我看到了数组_mergeremove dublicates,但在这里我看到的都是相同的,但不是remove,因为$params recive 2数组

你能给我一些解决办法,但不能给我一个

非常感谢你

关于,

您可以尝试:

$uniqueArr = array_merge(array_flip(array_flip($mergedArray))); 

或者,如果要使用数组\唯一方法:

$uniqueArr = array_unique(array_merge($array1,$array2), SORT_REGULAR);

从这个链接,这是远远快于数组_独特的方法。您可以数组\u flip,以便将键作为值获取,反之亦然。

但最终数组的值不同。。你也可以发布你的预期输出吗?仍然不起作用。输出不会将两个数组合并。我只想打印一个数组。像array5{[skipcache]=>boolfalse[expirecache]=>int86400[os]=>NULL[gid]=>string1 2[sid]=>string1 1}似乎在我身上工作看到这个小提琴:,我将null和boolean值更改为空字符串和0,因为它会打印一条警告,即array_flip只能翻转字符串和整数类型的值。。。如果您看到的是输出2数组,但如果键相同,我只想输出1数组,那么我将以错误的方式使用您的方法。因为通过这种方式,您可以两次调用方法,其中两次转储数组,您可以使用一个类,以便将值存储在一个属性中,如果该属性为空,则只使用一个空方法,否则它会将当前属性合并到新属性中,如下所示:最好开始使用OOP,因为这样编写代码更容易。希望这有帮助。
$uniqueArr = array_unique(array_merge($array1,$array2), SORT_REGULAR);