Создание массива
array
Создание и инициализация массива.
Синтаксис:
array array([mixed ...])
Функция возвращает созданный массив. Индексы и значения в массиве разделяются оператором =. Пары index=value разделяются запятыми, они определяют индекс и значение.
Индекс может быть как числовым, так и строковым. В ассоциированных массивах индекс всегда ведет себя как строковой. В случае, если индекс не указан, будет подставляться автоинкремент (на 1 больше), начиная с 0. Если при создании массива были указаны два элемента с одинаковыми индексами, то последний элемент заменяет первый.
Пример использования функции array():
<?php
$arr=array( // Далее мы создадим двумерный массив
"fruit" => array("a"=>"orange", "b"=>"banan", "c"=>"apple"),
// эта запись эквивалентна записи: $arr["fruit"]["a"]="orange"; и т.д.
"number" => array(1,2,3,4,5,6),
// эта запись эквивалентна записи: $arr["number"][]=1; и т.д.
"hotel" => array("first", 5=>"second", "third")
);
?>
$arr=array(1, 1, 1, 1, 2=>5, 19, 3=>20);
print_r($arr);
// Далее распечатка этого массива
Array
(
[0] => 1
[1] => 1
[2] => 5
[3] => 20
[4] => 19
)
$arr=array(1 => "Январь", "Февраль", "Март");
print_r($arr);
// распечатка
Array
(
[1] => Январь
[2] => Февраль
[3] => Март
)
Функция поддерживается PHP 3, PHP 4, PHP 5
range
Создает массив и заполняет его значениями.
Синтаксис:
array range(int low, int high[, int step])
Функция range() возвращает массив с значениями от low по high включительно. Если low high, то последовательность будет от high до low.
Дополнительный параметр step был введен в PHP 5.0.
Если третий параметр указан, то числа будут вводиться от low до high с шагом step. Если он не указан, то шаг будет равен 1.
Пример использования функции range():
<?php
// array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
foreach (range(0, 12) as $number) {
echo $number;
}
// The step parameter was introduced in 5.0.0
// array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
foreach (range(0, 100, 10) as $number) {
echo $number;
}
// Use of character sequences introduced in 4.1.0
// array("a", "b", "c", "d", "e", "f", "g", "h", "i");
foreach (range("a", "i") as $letter) {
echo $letter;
}
// array("c", "b", "a");
foreach (range("c", "a") as $letter) {
echo $letter;
}
?>
Функция поддерживается PHP 3 = 3.0.8, PHP 4, PHP 5
Сортировка массивов
array_reverse
Расстановка элементов массива в обратном порядке.
Синтаксис:
array array_reverse(array arr [, bool preserve_keys])
Функция array_reverse() возвращает массив, элементы которого следуют в обратном порядке относительно массива, переданного в параметре. При этом связи между ключами и значениями не теряются, если дополнительный параметр preserve_keys = TRUE.
Пример использования функции array_reverse():
<?php
$input = array("php", 4.0, array("green", "red"));
$result = array_reverse($input);
$result_keyed = array_reverse($input, true);
?>
Этот пример сделает оба массива $result и $result_keyed с одинаковыми значениями, но различными ключами. Распечатка массивов $result и $result_keyed будет следующей:
Array( [0] => Array ( [0] => green [1] => red ) [1] => 4 [2] => php)Array( [2] => Array ( [0] => green [1] => red ) [1] => 4 [0] => 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