KnigaRead.com/

White cat - Справочник по PHP

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн white cat, "Справочник по PHP" бесплатно, без регистрации.
Перейти на страницу:

Примечание: Второй параметр preserve_keys был добавлен в PHP 4.0.3.

Функция поддерживается PHP 4, PHP 5


shuffle


Перемешивание элементов массива.

Синтаксис:

void shuffle(array arr)

Функция shuffle() "перемешивает" список, переданный ей первым параметром arr, так, чтобы его значения распределялись случайным образом. При этом измениться сам массив и ассоциативные массивы воспринимаются как списки.

Пример использования функции shuffle():

<?php

$numbers = range(1, 20);

srand((float)microtime() * 1000000);

shuffle($numbers);

while (list(, $number) = each($numbers)) {

echo "$number ";

}

?>

Замечание: Начиная с PHP 4.2.0, больше нет необходимости инициализировать генератор случайных чисел функциями srand() или mt_srand(), поскольку теперь это происходит автоматически.

Функция поддерживается PHP 3 = 3.0.8, PHP 4, PHP 5


sort


Сортировка массива по возрастанию.

Синтаксис:

bool sort(array arr [, int sort_flags])

Функция sort() предназначена для сортировки массивов в порядке возрастания.

Замечание: Эта функция изменяет ключи у отсортированных значений. Т.е. любой ассоциативный массив воспринимается этой функцией как список. После упорядочивания последовательность ключей превращается в 0,1,2,..., а значения нужным образом перераспределяются. Как видим, связи между параметрами ключ=значение не сохраняются, более того - ключи просто пропадают, поэтому сортировать что-либо, отличное от списка, вряд ли целесообразно.

Пример использования функции sort():

<?php

$fruits = array("lemon", "orange", "banana", "apple");

sort($fruits);

reset($fruits);

while (list($key, $val) = each($fruits)) {

echo "fruits[" . $key . "] = " . $val . "n";

}

?>

Этот пример выведет:

fruits[0] = applefruits[1] = bananafruits[2] = lemonfruits[3] = orange

Аргумент sort_flags задает следующие флаги сортировки:

Функция поддерживается PHP 3, PHP 4, PHP 5


rsort


Сортировка массива по убыванию.

Синтаксис:

bool rsort ( array array [, int sort_flags])

Функция rsort() сортирует массив array в порядке убывания (от высших значений к низшим).

Функция возвращает TRUE в случае успешного завершения, и FALSE в противном случае.

Пример использования функции rsort():

<?php

$fruits = array("lemon", "orange", "banana", "apple");

rsort($fruits);

reset($fruits);

while (list($key, $val) = each($fruits)) {

echo "$key = $valn";

}

?>

Этот пример выведет:

0 = orange1 = lemon2 = banana3 = apple

Аргумент sort_flags задает следующие флаги сортировки:

Функция поддерживается PHP 3, PHP 4, PHP 5


asort


Сортировка ассоциативного массива по возрастанию.

Синтаксис:

bool asort(array arr [, int sort_flags])

Функция asort() сортирует массив, указанный в ее параметре, так, чтобы его значения шли в алфавитном (если это строки) или возрастающем (для чисел) порядке. При этом сохраняются связи между ключами и соответствующими им значениями, т.е. некоторые пары ключ=значение просто "всплывают" наверх, а некоторые - наоборот, "опускаются".

Функция возвращает true в случае успешного завершения, и false в случае возникновения ошибки.

Пример использования функции asort():

<?php

$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");

asort($fruits);

reset($fruits);

while (list($key, $val) = each($fruits)) {

echo "$key = $valn";

}

?>

Пример выведет следующее:

c = appleb = bananad = lemona = orange

Массив $fruits был отсортирован в возрастающем символьном порядке, при этом индексы массива были сохранены.

Метод сортировки может быть изменен при помощи необязательного параметра sort_flags.

Этот параметр может указать, как сравнивать значения (как строки или как числа). Он может принимать следующие предопределенные значения:

Этот параметр был введен в PHP начиная с 4 версии.

Функция поддерживается PHP 3, PHP 4, PHP 5


arsort


Сортировка ассоциативного массива по убыванию.

Синтаксис:

bool arsort(array arr [, int sort_flags])

Функция arsort() сортирует массив arr по убыванию с сохранением индексных ассоциаций.

Эта функция используется главным образом там, где существенен порядок элемента в массиве.

Функция возвращает true в случае успешной сортировки, и false в случае возникновения ошибки.

Пример использования функции arsort():

$arr=array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");

arsort($arr);

reset($arr);

while(list ($key, $val) = each ($arr)) {

echo "$key = $val<BR>l";

}


Пример выведет:

a = oranged = lemonb = bananac = apple

Массив $arr был отсортирован в убывающем символьном порядке, при этом индексы массива были сохранены.

Метод сортировки может быть изменен при помощи необязательного параметра sort_flags.

Этот параметр может указать, как сравнивать значения (как строки или как числа). Он может принимать следующие предопределенные значения:

Этот параметр был введен в PHP начиная с 4 версии.

Функция поддерживается PHP 3, PHP 4, PHP 5


ksort


Сортировка массива по возрастанию ключей.

Синтаксис:

bool ksort(array arr [, int sort_flags])

Функция ksort() сортирует массив в порядке возрастания ключей с сохранением взаимосвязей ключей и значений. Эта функция особенно полезна при сортировке ассоциативных массивов.

Функция возвратит true, если все прошло успешно, и false в противном случае.

Пример использования функции ksort():

<?php

$fruits = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");

ksort($fruits);

reset($fruits);

while (list($key, $val) = each($fruits)) {

echo "$key = $valn";

}

?>

Данный пример выведет:

a = orangeb = bananac = appled = lemon

Аргумент sort_flags задает следующие флаги сортировки:

Функция поддерживается PHP 3, PHP 4, PHP 5


krsort


Сортировка массива по убыванию индексов.

Синтаксис:

bool krsort(array arr [, int sort_flags])

Функция krsort() сортирует ключи в массиве arr в обратном порядке. При этом связка ключей и значений сохраняется. Эта функци полезна при сортировке ассоциативных массивов.

Функция возвращает true в случае успешного завершения, и false в противном случае.

Пример использования функции krsort():

<?php

$fruits = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");

krsort($fruits);

reset($fruits);

while (list($key, $val) = each($fruits)) {

echo "$key = $valn";

}

?>

Данный пример выведет:

d = lemonc = appleb = bananaa = orange

Аргумент sort_flags задает следующие флаги сортировки:

Функция поддерживается PHP 3 = 3.0.13, PHP 4, PHP 5


natsort


Выполняет "естественную" сортировку массива.

Синтаксис:

void natsort(array arr)

Функция natsort() сортирует массив arr в естественном для человека порядке с сохранением индексных ассициаций.

Пример использования функции natsort():

<?php

$array1 = $array2 = array("img12.png", "img10.png", "img2.png", "img1.png");


sort($array1);

echo "Стандартная сортировкаn";

print_r($array1);


natsort($array2);

echo "nЕстественная сортировкаn";

print_r($array2);

?>

Этот пример выведет следующее:

Стандартная сортировкаArray( [0] => img1.png [1] => img10.png [2] => img12.png [3] => img2.png)Естественная сортировкаArray( [3] => img1.png [2] => img2.png [1] => img10.png [0] => img12.png)

Функция поддерживается PHP 4, PHP 5


natcasesort


Выполняет естественную сортировку массива без учета регистра символов.

Синтаксис:

void natcasesort(array arr)

Функция natcasesort() сортирует массив arr в естественном для человека порядке с сохранением индексных ассициаций.

Эта функция схожа с natsort(), только не учитывает регистр символов.

Пример использования функции natcasesort():

<?php

$array1 = $array2 = array("IMG0.png", "img12.png", "img10.png",

"img2.png", "img1.png", "IMG3.png");


sort($array1);

echo "Стандартная сортировкаn";

print_r($array1);


natcasesort($array2);

echo "nЕстественная сортировка (без учета регистра)n";

print_r($array2);

?>

Приведенный пример выведет следующее:

Стандартная сортировкаArray( [0] => IMG0.png [1] => IMG3.png [2] => img1.png [3] => img10.png [4] => img12.png [5] => img2.png)Естественная сортировка (без учета регистра)Array( [0] => IMG0.png [4] => img1.png [3] => img2.png [5] => IMG3.png [2] => img10.png [1] => img12.png)

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*