Я работаю над небольшим проектом на основе 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»?
Я потратил несколько часов, чтобы понять, как работает этот массив, без каких-либо результатов, вы можете мне помочь?
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
Это функция, которую вы хотите:
http://php.net/manual/en/function.array-multisort.php
Ваш код должен выглядеть примерно так:
$sorted = array_multisort($utente, 'nome', SORT_ASC);