Сортировка массива массива Переполнение стека

Я работаю над небольшим проектом на основе codeigniter, я не php-разработчик, и это моя проблема:

       foreach ($checkeds['id_iscritti'] as $checked){

$iscritto = $this->pellegrinaggio_iscritti_m->get_iscritto($checked);

$utente = $this->utenti_m->get_utente($iscritto[0]->id_utente);

echo ("utente:   <pre> ");var_dump($utente);echo ("   </pre> \n\n");

}

это код, он в основном генерирует ассоциативный массив

и это то, что я получаю из var_dump:

array(1) { [0]=>
object(stdClass)#38 (27) {
["id"]=>
string(3) "254"["nome"]=>
string(13) "Padre EDUARDO"["cognome"]=>
string(9) "ANATRELLA"}
}

utente:
array(1) {
[0]=>
object(stdClass)#37 (27) {
["id"]=>
string(3) "338"["nome"]=>
string(4) "ELSA"["cognome"]=>
string(5) "PAONE"}
}

Как мне отсортировать массив $ utenti по индексу «nome»?
Я потратил несколько часов, чтобы понять, как работает этот массив, без каких-либо результатов, вы можете мне помочь?

2

Решение

PHP функция usort () позволяет сортировать массив с помощью пользовательской функции.

Предполагая, что ваш массив объектов хранится в $utente, ниже будут сравниваться каждый объект друг с другом, используя функцию анонимного сравнения.

В следующем коде $utente массив будет отсортирован по возрастанию nome значение.

usort($utente, function($a, $b){
if ($a->nome > $b->nome) {
return 1;
}elseif($a->nome < $b->nome){
return -1;
}else{
return 0;
}
});

Более подробную информацию можно найти на http://php.net/manual/en/function.usort.php

0

Другие решения

Это функция, которую вы хотите:
http://php.net/manual/en/function.array-multisort.php

Ваш код должен выглядеть примерно так:

$sorted = array_multisort($utente, 'nome', SORT_ASC);
1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector