как я сортирую следующий объект array / stdclass в php?

Как сортировать этот объект по 'pos' в php?

Array ( [0] => stdClass Object ( [str] => Mondays [pos] => 170 ) [1] => stdClass Object ( [str] => Tuesdays [pos] => 299 ) [2] => stdClass Object ( [str] => Wednesdays [pos] => 355 ) [3] => stdClass Object ( [str] => Thursdays [pos] => 469 ) [4] => stdClass Object ( [str] => Fridays [pos] => 645 ) [5] => stdClass Object ( [str] => Mondays [pos] => 972 ) [6] => stdClass Object ( [str] => Tuesdays [pos] => 1033 ) [7] => stdClass Object ( [str] => Thursdays [pos] => 1080 ) [8] => stdClass Object ( [str] => Fridays [pos] => 1180 ) 

)

Вероятно, вы можете использовать семейство функций usort () для сортировки на str или pos . Для этого вам нужно определить свою собственную функцию сравнения.

Пример псевдо-PHP:

 function compareItems($a, $b) { if ( $a->pos < $b->pos ) return -1; if ( $a->pos > $b->pos ) return 1; return 0; // equality } uasort($yourArray, "compareItems"); 

В зависимости от ваших потребностей другие функции сравнения могут быть более уместными.

Попробуйте эту функцию

 function objSort(&$objArray,$indexFunction,$sort_flags=0) { $indices = array(); foreach($objArray as $obj) { $indeces[] = $indexFunction($obj); } return array_multisort($indeces,$objArray,$sort_flags); }