Как отсортировать массив объектов на основе значений одного из свойств?

К примеру, есть такой массив объектов:

[0] => stdClass Object
(
    [prop1] => 25
    [prop2] => 3143413
    [prop3] => array(
        [0] => array(
            'arr_prop1' => '54353',
            'arr_prop2' => '2423',
            'arr_prop3' => '345'
        )
        [1] => array(
            'arr_prop1' => '123',
            'arr_prop2' => '865',
            'arr_prop3' => '2343'
        )
        [2] => array(
            'arr_prop1' => '53',
            'arr_prop2' => '234',
            'arr_prop3' => '64'
        )
    )
)
[1] => stdClass Object
(
    [prop1] => 25
    [prop2] => 3146280
    [prop3] => array(
        [0] => array(
            'arr_prop1' => '5345',
            'arr_prop2' => '657',
            'arr_prop3' => '123'
        )
        [1] => array(
            'arr_prop1' => '747',
            'arr_prop2' => '54835',
            'arr_prop3' => '423415636'
        )
        [2] => array(
            'arr_prop1' => '857657',
            'arr_prop2' => '125252',
            'arr_prop3' => '65737'
        )
    )
)
[2] => stdClass Object
(
    [prop1] => 24
    [prop2] => 3149972
    [prop3] => array(
        [0] => array(
            'arr_prop1' => '34565474',
            'arr_prop2' => '76575',
            'arr_prop3' => '345535'
        )
        [1] => array(
            'arr_prop1' => '45646',
            'arr_prop2' => '45676575',
            'arr_prop3' => '234242'
        )
        [2] => array(
            'arr_prop1' => '23424',
            'arr_prop2' => '2432432',
            'arr_prop3' => '645636'
        )
    )
)

Никак не получается разобраться, как его отсортировать по значению ['prop3'][0]['arr_prop1']?


Ответы (1 шт):

Автор решения: Haku Kimura
$result = [];
foreach ($array as $row) {
    $result[$row->prop3[0]['arr_prop1']] = $row;
}

ksort($result);
var_dump($result);
→ Ссылка