2015-07-17 4 views
0

Я пытался использовать функцию sort(), чтобы перестроить массив от минимального до самого большого.Как я могу отсортировать этот массив в PHP?

Это мой print_r массива, который пришел из сериализованных данных, который был интегрировались:

Array 
    (
    [0] => 127173 
    [1] => 127172 
    [2] => 127174 
    [3] => 127175 
    [4] => 127178 
    [5] => 127176 
    [6] => 127177 
    [7] => 127179 
    [8] => 127180 
    [9] => 127183 
    [10] => 127181 
    ) 

С sort() и asort() я просто получить 1 возвращение.

+0

пожалуйста, дайте мне ваш полный php code –

+2

Проблема у вас непонятна. в чем проблема? – KTAnj

ответ

2

Попробуйте этот код ... на самом деле функция sort работает нормально.

$array = Array 
    (
    '0' => 127173, 
    '1' => 127172, 
    '2' => 127174, 
    '3' => 127175, 
    '4' => 127178, 
    '5' => 127176, 
    '6' => 127177, 
    '7' => 127179, 
    '8' => 127180, 
    '9' => 127183, 
    '10' => 127181 
    ); 

sort($array); // <= Sort the array desc 

foreach($array as $key => $value){ 
    echo $key."\t=>\t".$value."\n"; 
} 

Считают, что sort функция фактически изменяет ваш массив и возвращает BOOL. See doc.

Check this example online

+0

не нужно преобразовывать целые числа в строки ;-) –

+0

Отредактировано, спасибо! – gastonmancini

+0

Я вижу, что произошло, я сделал следующее: $ results = sort ($ results); Это то, что продолжало делать это в 1. Выполнение этого просто sort ($ results); Работал как шарм. Спасибо за помощь всем! – capsloc

0

Использование asort(), например:

$A = Array (127173,127172,127174,127175,127178,127176,127177,127179,127180,127183,127181); 
asort($A); 
print_r($A); 

Результат:

Array ([1] => 127172 [0] => 127173 [2] => 127174 [3] => 127175 [5] => 127176 [6] => 127177 [4] => 127178 [7] => 127179 [8] => 127180 [10] => 127181 [9] => 127183) 

Сравнить сортировочные-функции здесь: http://php.net/manual/en/array.sorting.php

Смежные вопросы