Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP合并2个数组&;分类_Php_Arrays_Sorting_Merge_Ksort - Fatal编程技术网

PHP合并2个数组&;分类

PHP合并2个数组&;分类,php,arrays,sorting,merge,ksort,Php,Arrays,Sorting,Merge,Ksort,我想合并2个数组并按升序排序。数据来自数据库,实际上已经按升序排序,但当我合并它们时,第二个数组的数据仅出现在第一个数组中最后一个Z字之后。根据下面的示例,我的目的是按照[companyname]对合并的数组进行排序 你知道我下面可能遗漏了什么吗 两种数组格式: Array ( [0] => Array([id] => 1 [companyname] => 180 Degrees [region] => western_cape) [1] => Ar

我想合并2个数组并按升序排序。数据来自数据库,实际上已经按升序排序,但当我合并它们时,第二个数组的数据仅出现在第一个数组中最后一个Z字之后。根据下面的示例,我的目的是按照[companyname]对合并的数组进行排序

你知道我下面可能遗漏了什么吗

两种数组格式:

Array
(
    [0] => Array([id] => 1 [companyname] => 180 Degrees [region] => western_cape)
    [1] => Array([id] => 2 [companyname] => 4 Ever Sheeting [region] => gauteng)
    [2] => Array([id] => 3 [companyname] => A I Sheeting [region] => gauteng)
)
像这样合并:

$arr = array_merge( $arr1, $arr2 );
按如下方式对ASC进行排序:

ksort( $arr, SORT_ASC );
结果: $arr2中的项目仅在所有$arr1项目之后开始


提前感谢…

他们会的,因为array_merge()会将$arr2到$arr1之间的条目追加,相应地修改它们的数字键,然后按array键排序,不能简单地使用带有UNION和ORDER by的单个数据库查询来检索已合并和排序的数据?不,按公司名称排序是完全可能的。。。。我只需要澄清一下您想要什么,尽管如果您可以在数据库级别处理此问题,而不是在PHP中使用
ksort($arr,SORT\u ASC),那么在数据库级别处理此问题会更有效
,使用usort($arr,function($a,$b){返回strcmp($a['company\u name'],$b['company\u name']);})他们会的,因为array_merge()会将$arr2到$arr1的条目追加,相应地修改它们的数字键,然后按array键排序,不能简单地使用带有UNION和ORDER by的单个数据库查询来检索已合并和排序的数据?不,完全可以按公司名称排序。。。。我只需要澄清一下您想要什么,尽管如果您可以在数据库级别处理此问题,而不是在PHP中使用
ksort($arr,SORT\u ASC),那么在数据库级别处理此问题会更有效
,使用usort($arr,function($a,$b){返回strcmp($a['company\u name'],$b['company\u name']);})