Справочник по PHP - white cat
Шрифт:
Интервал:
Закладка:
В качестве примера укажем следующие эквивалентыне замены:
array_push($input, $x, $y) array_splice($input, count($input), 0, array($x, $y))
array_pop($input) array_splice($input, -1)
array_shift($input) array_splice($input, -1)
array_unshift($input, $x, $y) array_splice($input, 0, 0, array($x, $y))
$a[$x] = $y array_splice($input, $x, 1, $y)
Пример использования функции array_splice():
<?php
$input = array("red", "green", "blue", "yellow");
array_splice($input, 2);
// $input is now array("red", "green")
$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, -1);
// $input is now array("red", "yellow")
$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, count($input), "orange");
// $input is now array("red", "orange")
$input = array("red", "green", "blue", "yellow");
array_splice($input, -1, 1, array("black", "maroon"));
// $input is now array("red", "green",
// "blue", "black", "maroon")
$input = array("red", "green", "blue", "yellow");
array_splice($input, 3, 0, "purple");
// $input is now array("red", "green",
// "blue", "purple", "yellow");
?>
Функция поддерживается PHP 4, PHP 5
Вставка / удаление элементов
array_pad
Добавляет в массив несколько элементов.
Синтаксис:
array array_pad(array input, int pad_size, mixed pad_value)
Функция array_pad() возвращает копию массива input, в который были добавлены элементы с значениями pad_value, так, что число элементов в получившемся массиве будет равно pad_size.
Если pad_size0, то элементы будут добавлены в конец массива, а если <0 - то в начало.
В случае, если значение pad_size меньше элементов в исходном массиве input, то никакого добавления не произойдет, и функция вернет исходный массив input.
Пример использования функции array_pad():
$arr = array(12, 10, 4);
$result = array_pad($arr, 5, 0);
// $result = array(12, 10, 4, 0, 0);
$result = array_pad($arr, -7, -1);
// $result = array(-1, -1, -1, -1, 12, 10, 4)
$result = array_pad($arr, 2, "noop");
// не добавит
Функция поддерживается PHP 4, PHP 5
array_pop
Извлекает и удаляет последние элементы массива.
Синтаксис:
mixed array_pop(array arr);
Функция array_pop() извлекает последний элемент из массива arr и возвращает его, удалив после этого. С помощью этой функции мы можем строить конструкции, напоминающие стек. Если массив arr был пуст, или это не массив, функция возвращает пустую строку NULL.
После использования функции array_pop() курсор массива устанавливается в начало.
Пример использования функции array_pop():
<?php
$stack = array("orange", "apple", "raspberry");
$fruits = array_pop($stack);
print_r($stack);
print_r($fruits);
?>
Пример выведет следующее:
Array( [0] => orange [1] => banana [2] => apple)
Функция поддерживается PHP 4, PHP 5
array_push
Добавляет один или несколько элементов в конец массива.
Синтаксис:
int array_push(array arr, mixed var1 [, mixed var2, ..])
Функция array_push() добавляет к массиву arr элементы var1, var2 и т.д. Она присваивает им числовые индексы - точно так же, как это происходит для стандартных []. Если вам нужно добавить всего один элемент, наверное, проще будет воспользоваться этим оператором:
array_push($Arr,1000); // вызываем функцию
$Arr[]=100; // то же самое, но короче
Пример использования функции array_push():
<?php
$stack = array("orange", "banana");
array_push($stack, "apple", "raspberry");
print_r($stack);
?>
Пример выведет следующее:
Array( [0] => orange [1] => banana [2] => apple [3] => raspberry)
Обратите внимание, что функция array_push() воспринимает массив, как стек, и добавляет элементы всегда в его конец.
Функция поддерживается PHP 4, PHP 5
array_shift
Извлекает и удаляет первый элемент массива.
Синтаксис:
mixed array_shift(array arr)
Функция array_shift() извлекает первый элемент массива arr и возвращает его. Она сильно напоминает array_pop(), но только получает начальный, а не конечный элемент, а также производит довольно сильную "встряску" всего массива: ведь при извлечении первого элемента приходится корректировать все числовые индексы у всех оставшихся элементов, т.к. все последующие элементы массива сдвигаются на одну позицию вперед. Строковые ключи массива не изменяются.
Если массив arr пустой или он не является массивом, функция возвращает NULL.
После использования этой функции указатель массива становится в начало.
Пример использования функции array_shift():
<?php
$stack = array("orange", "banana", "apple", "raspberry");
$fruit = array_shift($stack);
print_r($stack);
?>
Данный пример выведет следующее:
Array( [0] => banana [1] => apple [2] => raspberry)
а переменная $fruit будет иметь значение "orange"
Функция поддерживается PHP 4, PHP 5
array_unshift
Добавляет одно или несколько значений в начало массива.
Синтаксис:
int array_unshift(list arr, mixed var1 [,mixed var2, ...])
Функция array_unshift() добавляет переданные значения var в начало массива arr. Порядок расположения новых элементов в массиве сохраняется. Все цифровые индексы массива будут изменены таким образом, чтобы она начинались с нуля. Все строковые индексы массива не изменяются.
Функция возвращает новое количество элементов в массиве.
Пример использования функции array_unshift():
<?php
$queue = array("orange", "banana");
array_unshift($queue, "apple", "raspberry");
?>
Теперь переменная $queue будет иметь следующие элементы:
Array( [0] => apple [1] => raspberry [2] => orange [3] => banana)
Функция поддерживается PHP 4, PHP 5
array_unique
Удаляет дублирующие значения в массиве.
Синтаксис:
array array_unique(array arr)
Функция array_unique() возвращает массив, составленный из всех уникальных значений массива arr вместе с их ключами, путем удаления всех дублирующих значений. В результирующий массив помещаются первые встретившиеся пары ключ=>значение. Индексы сохраняются.
Пример использования функции array_unique():
<?php
$input = array("a" => "green", "red", "b" =>
"green", "blue", "red");
$result = array_unique($input);
print_r($result);
?>
Пример выведет следующее:
Array( [a] => green [0] => red [1] => blue)
Пример использования функции array_unique(): Сравнение типов данных
<?php
$input = array(4, "4", "3", 4, 3, "3");
$result = array_unique($input);
var_dump($result);
?>
Пример выведет следующее:
array(2) { [0] => int(4) [2] => string(1) "3"}
Функция поддерживается PHP 4 >= 4.0.1, PHP 5
array_chunk
Функция разбивает массив на части.
Синтаксис:
array array_chunk(array arr, int size [, bool preserve_keys])
Функция array_chunk() разбивает исходный массив arr на несколько массивов, длина которых задается числом size. Если размерность исходного массива не делится ровно на size частей, то последний массив будет иметь меньшую размерность.
Функция array_chunk() возвращает многомерный массив, индексами которого начинаются от 0 и до кол-ва полученных массивов, а значения - полученные в результате разбивки массивы.
Необязательный параметр preserve_keys указывает, стоит ли сохранять ключи исходного массива или нет. Если этот параметр равен false (значение по умолчанию), то индексы полученных массивов будут заданы числами начиная с нуля. Если же параметр равен true, то ключи исходного массива сохраняются.
Пример использования функции array_chunk():
$array = array("1-ый элемент",
"2-ой элемент",
"3-ий элемент",
"4-ый элемент",
"5-ый элемент");
print_r(array_chunk($array, 2));
print_r(array_chunk($array, 2, TRUE));
Пример выведет следующее:
Array( [0] => Array ( [0] => 1-ый элемент [1] => 2-ой элемент ) [1] => Array ( [0] => 3-ий элемент [1] => 4-ый элемент ) [2] => Array ( [0] => 5-ый элемент ))Array( [0] => Array ( [0] => 1-ый элемент [1] => 2-ой элемент ) [1] => Array ( [2] => 3-ий элемент [3] => 4-ый элемент ) [2] => Array ( [4] => 5-ый элемент ))
Функция поддерживается PHP 4 >= 4.2.0, PHP 5
array_fill
Функция заполняет массив определенными значениями.
Синтаксис:
array array_fill(int start_index, int num, mixed value)
Функция array_fill() возвращает массив, который содержит значения, указанные в параметре value размерностью num начиная с элемента, указанного в параметре start_index.