如何根据对象属性对对象的二维数组进行排序

我有一个像这样的二维数组


$myArray = [

    0=>$Object,

    1=>$Object,

    2=>$Object,

    3=>$Object,

//etc...

]

例如,每个对象都有属性,其中一些具有相同的名称。如何对我的数组进行排序,以便具有相同名称的对象彼此跟随,并且只有在没有其他具有相同名称属性的对象时,我才会转到下一个名称?


$myArray = [

//Objects with the first name

    0=>$Object,

    1=>$Object,

    2=>$Object,

//Objects with the second name

    3=>$Object,

    4=>$Object,

//Objects with the third name

    5=>$Object,

// etc.

]

该数组是从数据库生成的,因此它永远不会具有相同的大小,并且具有名称的对象的数量可以是一个或多个。


茅侃侃
浏览 145回答 1
1回答

函数式编程

您可以将usort()与匿名函数一起使用,如下所示:usort($dataArray, function($a, $b) {return strcmp($a->name, $b->name);});或这个:function cmp($a, $b) {    return strcmp($a->name, $b->name);}usort($dataArray, "cmp");name这将使用属性对您的数据对象及其值进行排序。
打开App,查看更多内容
随时随地看视频慕课网APP