Упражнения с массивами PHP: вставка нового элемента в массив в любую позицию
Вставка нового элемента в массив в любую позицию
Напишите сценарий PHP, который вставляет новый элемент в массив в любую позицию.
Исходный массив:
После вставки '$' массив будет:
Пример
Попробуй сам »<?php
$original = array( '1','2','3','4','5' );
echo 'Оригинальный массив: '."\n";
foreach ($original as $x)
{echo "$x ";}
$inserted = '$';
array_splice( $original, 3, 0, $inserted );
echo " \n После вставки '$' массив будет: "."\n";
foreach ($original as $x)
{echo "$x ";}
echo "\n"
?>
array_splice — удаляет часть массива и заменяет её элементом replacement
Синтаксис
array array_splice ( array &$input , int $offset [, int $length [, mixed $replacement = array() ]] )
Удаляет length
элементов, расположенных
на расстоянии offset
из массива
input
, и заменяет их элементами
массива replacement
, если он передан в качестве параметра.
Обратите внимание, что числовые ключи в массиве input
не сохраняются.
Список параметров
input
-
Входной массив.
-
offset
-
Если параметр
offset
положителен, будут удалены элементы, находящиеся на расстоянии offset от началаinput
. Еслиoffset
отрицателен, будут удалены элементы, находящиеся на расстоянии offset от концаinput
. -
length
-
Если параметр
length
опущен, будут удалены все элементы начиная с позицииoffset
и до конца массива. Еслиlength
указан и он положителен, то будет удалено именно столько элементов. Если же параметрlength
отрицателен, то конец удаляемой части элементов будет отстоять на это количество от конца массива. Совет: для того, чтобы удалить все элементы массива, начиная с позицииoffset
до конца массива, в то время как указан параметрreplacement
, используйте count($input) в качестве параметраlength
. -
replacement
-
Если передан массив
replacement
в качестве аргумента, тогда удалённые элементы будут заменены элементами этого массива.Если параметры
offset
иlength
таковы, что из исходного массива не будет ничего удалено, тогда элементы массиваreplacement
будут вставлены на позициюoffset
. Обратите внимание, что ключи массиваreplacement
не сохраняются.Совет: если
replacement
является просто одним элементом, нет необходимости заключать его в array(), если только этот элемент сам не является массивом, объектом илиNULL
.
Комментарии
<code>
, несколько строчек кода — в теги<pre><code>
...ваш код...</code></pre>
.