Сортировка данных в php. Только переменные могут быть переданы по ссылке - PullRequest
0 голосов
/ 04 июля 2018

Я довольно новичок в php, я пытаюсь отсортировать пользователей по возрастанию по имени и фамилии. Я пробовал это, но продолжаю получать can't pass values by reference. Как я могу это сделать

foreach( $users->result() as $user ):
            if ($user->first_name != '' && !$user->block):
                $user_list[$user->id] = sort($user->first_name . '' . $user->last_name);
            endif;
        endforeach;

Ответы [ 2 ]

0 голосов
/ 04 июля 2018

Вы не можете передать строку в метод sort (). Я предполагаю, что это из базы данных, в таких случаях я обычно сначала сортирую его с использованием SQL.

Но тем не менее, чтобы достичь того, что вы хотите.

$user_list=array();
foreach( $users->result() as $user ):
            if ($user->first_name != '' && !$user->block):
                $user_list[$user->id] = $user->first_name.' '.$user->last_name
            endif;
        endforeach;

sort($user_list);
0 голосов
/ 04 июля 2018
foreach( $users->result() as $user ) {
    if ($user->first_name != '' && !$user->block) {
        $user_list[$user->id] = $user->first_name . '' . $user->last_name;
    }
}

$user_list = asort($user_list); //sorted array
...