PHP.mk документација

Сортирање низи

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

array.sorting.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека array.sorting.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
Сортирање низи

Референца за `array.sorting.php` со подобрена типографија и навигација.

array.sorting.php

Сортирање низи

PHP has several functions that deal with sorting arrays, and this document exists to help sort it all out.

PHP има неколку функции кои се занимаваат со сортирање на низи, и овој документ постои за да помогне да се среди сето тоа.

  • Главните разлики се: array Некои сортираат врз основа на $array['key'] = 'value';
  • клучот, додека други по вредноста:
  • Дали корелацијата помеѓу клучевите и вредностите се одржува по сортирањето, што може да значи дека клучевите се ресетираат нумерички (0,1,2 ...)
  • Редоследот на сортирање: азбучен, растечки (од ниско до високо), опаѓачки (од високо до ниско), природен, случаен или дефиниран од корисникот
  • Забелешка: Сите овие функции за сортирање дејствуваат директно на самата променлива на низата, наместо да враќаат нова сортирана низа

Ако некоја од овие функции за сортирање оцени два члена како еднакви, тие го задржуваат својот оригинален редослед. Пред PHP 8.0.0, нивниот редослед беше недефиниран (сортирањето не беше стабилно).
Атрибути на функцијата за сортирање Име на функција Сортира по Одржува асоцијација на клуч Редослед на сортирање
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 забелешки

дефиниран од корисникот
12 години пред
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.
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.
Навигација

Прелистувај сродни теми и функции.

На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.