Главная > Программирование > РНР: настольная книга программиста
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

20.7. Вытеснение элементов из массива в PHP

Иногда программисту необходимо вытеснить данный элемент, при этом не потерять его, а переместить в указанное место.

Функция array_pop() предназначена именно для такой доли. Она возвращает последний элемент массива, заданного ей. Ее синтаксис:

mixed array_pop(array array)

Если массив данной функции (array) является пустым либо ей задается просто какая-либо переменная, которая не является массивом, то данная функция возвращает значение, равное нулю.

Например:

<?

$stack = array ("муж", "жена", "любовник");

$myhus = array_pop ($stack);

print_r($stack);

echo "<br>";

print $myhus;

echo "<br>";

$free = array();

$popfree = array_pop($free);

print_r($free);

echo "<br>";

print $popfree;

echo "<br>";

$foo = 5;

$valfoo = array_pop($foo);

echo $valfoo;

?>

Данная программа состоит из трех блоков. Первый блок — с массивом и применяющимися к нему функциями. В нем произойдет вытеснение последнего значения массива, которое будет присвоено переменной $myhus. Далее выведутся результаты значений программы.

Второй блок показывает, что произойдет в случае работы функции с пустым массивом. Третий блок характеризует принцип работы программы с переменной. Приведем результаты работы данной программы: (первый блок)

Array ([0] => муж [1] => жена)

любовник

(второй блок)

Array ( )

Как видите, третьего вообще нет, это говорит о том, что нуль не был выведен. Отсюда можно сделать вывод, что этотнуль подразумевается, но оперировать с ним как со значением не стоит. Лучше присвойте истинный нуль и смело работайте.

Если вам необходимо вставить некоторые значения в массив, применяется функция array_push(). Данная функция имеет следующий синтаксис:

int array_push(array array, mixed var [, mixed...])

Используется в РНР 4. Функция довольно проста в использовании и не создает труда при программировании. Приведем пример ее практического использования:

<?

$new_work = array(l,2,5,7);

array_push($new_work, "+", 8,9,10);

print_r($new_work);

?>

Результатом работы данного примера будет следующая строка:

Array ([0] => 1 [1] => 2 [2] => 5 [3] => 7 [4] => + [5] => 8 [6] => 9 [7] => 10)

Таким способом вы можете добавлять любые значения, которые необходимы вам при работе.

Если нужно вытеснить элемент из начала массива, то вам необходимо воспользоваться функцией array_shift(). Она имеет следующий синтаксис:

mixed array_shift(array array)

Работает аналогично array_pop(). Приведем пример:

<?

$new_work = array(1, 2,5,7);

$foo = array_shift($new_work);

print_r($new_work);

echo"<br>";

echo $foo;

?>

Результат выполнения примера:

Array => 2 [1] => 5 [2] => 7)

1

Если вам необходимо вставить один или несколько элементов в начало массива, применяется функция array_unshift(). Эта функция аналогична функции

array_push(). Приведем пример:

<?

$new_work = array(1,2,5,7);

array_unshift($new_work, 20,21,22,23);

print_r($new_work);

?>

Пример выведет следующую строку с добавленными элементами:

Array([0] => 20 [1] => 21 [2] => 22 [3] => 23 [4] => 1 [5] => 2 [6] => 5 [7] => 7)


СОВЕТ

Если вам необходимо удалить из имеющегося массива все повторяющиеся элементы, воспользуйтесь функцией array_unique(). Например, если у вас есть массив, состоящий из элементов 1, 2, 3, 4,2, 2, 4, то после применения данной функции будет возвращен новый массив, состоящий из элементов 1, 2, 3, 4. Все повторяющиеся элементы будут удалены. Данная функция работает в PHP 4.0.1.


<< Предыдущий параграф Следующий параграф >>
Оглавление