PHP Сортировка Массив ASC - PullRequest
0 голосов
/ 04 ноября 2011

Я пытаюсь отсортировать следующий массив, но по какой-то странной причине он, похоже, не работает

$sizearray = Array ( 
                       [0] => 39 
                       [1] => 40 
                       [2] => 41 
                       [3] => 42 
                       [4] => 43 
                       [5] => 44 
                       [6] => 45 
                       [7] => 39 
                       [8] => 40 
                       [9] => 41 
                       [10] => 42 
                       [11] => 43 
                       [12] => 44 
                       [13] => 45 
                       [14] => 39 
                       [15] => >40 
                       [16] => 41 
                       [17] => 42 
                       [18] => 43 
                       [19] => 44 
                       [20] => 45 
                 );


$sizearray = array_values(sort(array_unique($sizearray)));

И появляются следующие предупреждения:

>Warning: array_values() [function.array-values]: The argument should be an array in 
>/home/starlet/public_html/productlist.php on line 349

Примечание. Если удалить функцию sort(), функция array_values() будет работать нормально.

Ответы [ 3 ]

1 голос
/ 04 ноября 2011

С документы :

Возвращаемые значения

Возвращает TRUE в случае успеха или FALSE в случае ошибки.

Обратите внимание, как не написано «Возвращает отсортированный массив».Это потому, что sort() сортирует на месте.

1 голос
/ 04 ноября 2011

Это потому, что sort находится на месте и возвращает логическое значение.

Из документов :

bool sort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

Возможно, вам потребуется что-то сделатькак это:

$sizearray = array_unique($sizearray);
sort($sizearray);
$sizearray = array_values($sizearray);
0 голосов
/ 14 июля 2014
<?php

$fruits = array(
    "Orange1", "orange2", "Orange3", "orange20"
);
sort($fruits, SORT_NATURAL | SORT_FLAG_CASE);
foreach ($fruits as $key => $val) {
    echo "fruits[" . $key . "] = " . $val . "\n";
}

?>

The above example will output:

fruits[0] = Orange1
fruits[1] = orange2
fruits[2] = Orange3
fruits[3] = orange20
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...