Сортировать объект stdClass после массива - PullRequest
0 голосов
/ 24 июля 2011

У меня есть два массива,

Array
(
    [0] => stdClass Object
        (
            [id] => 1
            [title] => art
        )
    [1] => stdClass Object
        (
            [id] => 4
            [title] => adsdf
        )
    [2] => stdClass Object
        (
            [id] => 2
            [title] => adsdf
        )
    [3] => stdClass Object
        (
            [id] => 7
            [title] => adsdf
        )

)
Array
(
    [2] => 2
    [1] => 1
)

И я хочу отсортировать первый массив после второго массива.Во втором массиве ключ и значение равны первому идентификатору массива.Таким образом, выходные данные должны быть следующими.

Array
(
    [0] => stdClass Object
        (
            [id] => 2
            [title] => adsdf
        )
    [1] => stdClass Object
        (
            [id] => 1
            [title] => art
        )
    [2] => stdClass Object
        (
            [id] => 4
            [title] => adsdf
        )
    [3] => stdClass Object
        (
            [id] => 7
            [title] => adsdf
        )

)

1 Ответ

2 голосов
/ 24 июля 2011

Для него можно использовать array_multisort [Документы] :

array_multisort($arraySort, $arrayData);

Передайте массив с порядком сортировки в качестве первого, а массив - в качестве второго параметра.

Возможно, вам придется построить массив сортировки до него, из вашего вопроса мне не ясно, есть ли он у вас или нет.

Если нет, если вы хотите получить все значения идентификаторов записей массивов данных в массиве сортировки:

$arraySort = array();
foreach($arrayData as $key => $obj)
{
    $arraySort[$key] = $obj->id;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...