Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.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 多维数组挑战_Php_Arrays_Multidimensional Array - Fatal编程技术网

Php 多维数组挑战

Php 多维数组挑战,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我试图通过内部值的非标准排序对数组进行排序,但当其他值相等时,保留它们的顺序。所以我这样做: $articles[0]['name']='Article 1'; $articles[0]['grouping']=''; $articles[1]['name']='Article 2'; $articles[1]['grouping']='Item group'; $articles[2]['name']='Article 3'; $articles[2]['grouping']=''; $

我试图通过内部值的非标准排序对数组进行排序,但当其他值相等时,保留它们的顺序。所以我这样做:

$articles[0]['name']='Article 1';
$articles[0]['grouping']='';

$articles[1]['name']='Article 2';
$articles[1]['grouping']='Item group';

$articles[2]['name']='Article 3';
$articles[2]['grouping']='';

$articles[3]['name']='Article 4';
$articles[3]['grouping']='Item group';

$articles[4]['name']='Article 5';
$articles[4]['grouping']='';

function cmpBySort($a, $b) {
    return strcmp($a["grouping"], $b["grouping"]);
}
usort($articles, 'cmpBySort');

foreach ($articles as $article){
    echo $article['name'].' - '.$article['grouping'].'<br>';
}
但我想实现 第2条-项目组 第4条-项目组 第1条- 第3条- 第5条-

请注意,我希望在末尾有空格,如果相等,则按文章名称排序(因此是1,3,5,而不是5,1,3)

希望有人是一个数组wizz,可以帮助解决这个问题! 谢谢 斯科特

试试:

函数cmpBySort($a,$b){
如果(strcmp($a[“分组”],$b[“分组”])==0){
返回strcmp($a[“name”],$b[“name”]);
}
return-strcmp($a[“grouping”],$b[“grouping”]);
}
试试:

函数cmpBySort($a,$b){
如果(strcmp($a[“分组”],$b[“分组”])==0){
返回strcmp($a[“name”],$b[“name”]);
}
return-strcmp($a[“grouping”],$b[“grouping”]);
}
Article 5 - 
Article 1 - 
Article 3 - 
Article 2 - Item group
Article 4 - Item group