While this may seem obvious, user-defined array sorting functions ( uksort(), uasort(), usort() ) will *not* be called if the array does not have *at least two values in it*.
The following code:
<?php
function usortTest($a, $b) {
var_dump($a);
var_dump($b);
return -1;
}
$test = array('val1');
usort($test, "usortTest");
$test2 = array('val2', 'val3');
usort($test2, "usortTest");
?>
Will output:
string(4) "val3"
string(4) "val2"
The first array doesn't get sent to the function.
Please, under no circumstance, place any logic that modifies values, or applies non-sorting business logic in these functions as they will not always be executed.
PHP.mk документација
Сортирање низи
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Патека
array.sorting.php
Локална патека за оваа страница.
Извор
php.net/manual/en
Оригиналниот HTML се реупотребува и локално се стилизира.
Режим
Прокси + преведен приказ
Кодовите, табелите и белешките остануваат читливи во истиот тек.
Референца
array.sorting.php
Сортирање низи
Референца за `array.sorting.php` со подобрена типографија и навигација.
Сортирање низи
PHP има неколку функции кои се занимаваат со сортирање на низи, а овој документ постои за да помогне во средувањето на сето тоа.
PHP има неколку функции кои се занимаваат со сортирање на низи, и овој документ постои за да помогне да се среди сето тоа.
-
Главните разлики се: array Некои сортираат врз основа на
$array['key'] = 'value'; - клучот, додека други по вредноста:
- Дали корелацијата помеѓу клучевите и вредностите се одржува по сортирањето, што може да значи дека клучевите се ресетираат нумерички (0,1,2 ...)
- Редоследот на сортирање: азбучен, растечки (од ниско до високо), опаѓачки (од високо до ниско), природен, случаен или дефиниран од корисникот
- Забелешка: Сите овие функции за сортирање дејствуваат директно на самата променлива на низата, наместо да враќаат нова сортирана низа
| Атрибути на функцијата за сортирање | Име на функција | Сортира по | Одржува асоцијација на клуч | Редослед на сортирање |
|---|---|---|---|---|
| array_multisort() | value | string Поврзани функции int клучеви да, | клучеви не | array_walk() |
| asort() | value | yes | ascending | arsort() |
| arsort() | value | yes | descending | asort() |
| krsort() | key | yes | descending | ksort() |
| ksort() | key | yes | ascending | krsort() |
| natcasesort() | value | yes | прва низа или опции за сортирање | natsort() |
| natsort() | value | yes | natural | natcasesort() |
| rsort() | value | no | descending | sort() |
| shuffle() | value | no | random | array_rand() |
| sort() | value | no | ascending | rsort() |
| uasort() | value | yes | природен, нечувствителен на големината на буквите | uksort() |
| uksort() | key | yes | природен, нечувствителен на големината на буквите | uasort() |
| usort() | value | no | природен, нечувствителен на големината на буквите | uasort() |
Белешки од корисници 2 забелешки
дефиниран од корисникот ¶
пред 13 години
oculiz na gmail tocka com ¶
пред 15 години
Another way to do a case case-insensitive sort by key would simply be:
<?php
uksort($array, 'strcasecmp');
?>
Since strcasecmp is already predefined in php it saves you the trouble to actually write the comparison function yourself.