69696

Отримання частини масиву

Лекция

Информатика, кибернетика и программирование

Дана функція повертає частину вказаного масиву, починаючи з вказаного зсуву від початку масиву. Вибірка елементів здійснюється підряд. Довжина результуючого масиву задається параметром Довжина, який є необов’язковим. Якщо цей параметр не вказаний, то вибірка елементів здійснюється до кінця початкового масиву.

Украинкский

2014-10-08

48.5 KB

0 чел.

Тема 16: Отримання частини масиву

Для отримання частини масиву використовується функція array_slice(). Їй потрібно передати три параметри:

| ім'я початкового масиву, з якого вибиратимуться елементи;

зсув від початку масиву, тобто скільки елементів від початку
масиву треба пропустити перед початком вибірки;

довжина, тобто кількість елементів, яку потрібно вибрати з
початкового масиву.

Дана функція повертає частину вказаного масиву, починаючи з вказаного зсуву від початку масиву. Вибірка елементів здійснюється підряд. Довжина результуючого масиву задається параметром Довжина, який є необов'язковим. Якщо цей параметр не вказаний, то вибірка елементів здійснюється до кінця початкового масиву.

Ось невеликі приклади:

$А =  array(xox,   ror,   tot,   pop,   mom);   //  задаємо початковий масив

$В   =   array_slice($A,2); // отримуємо   масив   $В,

// у   якому   містяться

// всі   елементи масиву   $А,

// починаючи з третьої  позиції

// (т.к.   два   треба   пропустити).

// Таким чином,   масив   $В

// міститиме   елементи

// tot,   pop,   mom.

$В  =   array_slice($A,0,2); // Отримуємо масив   $В,   у   якому

// містяться  два  елементи

// масиву   $А,   починаючи з першого

// (т.к.   треба  пропустити   0

// елементів).   Таким чином

// масив   $В  міститиме

// елементи     xox,   ror.

Параметри зсув і довжина можуть бути негативними — в цьому випадку відлік проводиться від кінця масиву:

$В   =   array_slice($A,2,-l); //   отримуємо   масив   $В,

//   що складається  з   елементів   tot, //   pop.

Функція array_spIice() схожа на функцію array_slice(). Їй потрібно передати ще один додатковий параметр — масив (назвемо його $R). Як і array_slice(), функція array_splice() повертає масив вказаної довжини, починаючи із зсуву $offset, але і замінює передані нею елементи на вміст масиву $R. B принципі, замість масиву $R можна вказати звичайне рядкове значення. Приклад:

$А   =   array("Audi","Mercedes", "Toyota", "Honda", "Renault"); array_splice($A,l,count($А),    "BMW"); //   $А   =   array("Audi","BMW");

7.8. Додавання і видалення елементів масиву

Додавання в кінець масиву

Раніше ми з вами освоїли простий спосіб додавання нових елементів в масив, здійснюваний за допомогою оператора []. Проте в останніх версіях PHP (починаючи з 4) передбачена функція array_push(), яка додає елементи в кінець масиву так само, як і оператора []. Наприклад, наступні два оператори аналогічні:

$А[]    =   5; array_push($А,5);

Може виникнути справедливе питання: «А навіщо потрібно два однакові способи робити одне і те ж?». Відповідь полягає в зручності. Якщо необхідно додати один елемент в масив (як в приведеному вище прикладі), то зручніше використовувати оператора []. Використання ж функції array_push() виправдовує себе тоді, коли нам потрібно додати в кінець масиву декілька нових елементів. Наприклад:

$А[] = 5;

$А[] = 7;

$А[] = 9;

$А[] = 10;

$А[] = 15;

Натомість можна записати:

array_push($A,    5,7,9,10,15);

Примітка.

Функція array_push(), крім всього іншого, повертає новий розмір масиву. Тобто, якщо крім того, щоб додати нові елементи в масив, вам потрібно дізнатися і його нову довжину, то можна записати $D = array_push($A, 5, 7, 9, 10, 15). Таким чином, нова довжина масиву буде привласнена змінною $D.

Видалення останнього елементу списку

Функція array_pop() протилежна функції array_push(). Вона «виштовхує» вершину списку (останній елемент списку). Іншими словами, функція array_pop() повертає значення останнього елементу масиву і видаляє його із списку.

Функції array_pop() потрібно передати всього один параметр — ім'я масиву (списку):

$A = array(xox, ror, tot pop, mom);

$T=array_pop($A);      // змінній $Т привласнили

// значення mom, а масив $A

// позбувся цього останнього

// елементу і тепер складається з

// елементів xox, ror, tot, pop.

array pop($A);         // масив $А ще раз позбувся останнього

// елементу і тепер

// складається з елементів xox, ror, tot.

Примітка.

За допомогою функцій array_push() і array_pop() ми можемо будувати структури LIFO (Last In First Out — «останній увійшов — перший вийшов»), що нагадують стік. Структури типу стек широко застосовуються в програмуванні. Класичне застосування стека — зворотний польський запис, який використовується для розбору арифметичних виразів і обчислення їх значення.

Додавання в початок списку. Видалення першого елементу списку

Функції array_unshift() і array_shift() схожі на функції array_push()

і array_pop(), але тільки працюють не з кінцем списку, а з його початком. Функція array_unshift() додає елементи в початок списку, а функція array_shift() повертає значення першого елементу списку і видаляє його із списку (видаляє «голову» списку):

$А = array(3,4,5) ;

array_unshift($A, 1,2);   // отримуємо $А = array(l,2,3,4,5)

array_shift($A);         // отримуємо $А = array(2,3,4,5);

Примітка.

Функції array_unshift() і array_shift() корисно використовувати, якщо ви хочете побудувати чергу типа FIFO (First In First Out — «перший увійшов — перший вийшов»). Черга необхідна для послідовної обробки елементів масиву. Стік і черга в мовах З і Pascal є основними динамічними структурами. Поськолькудліна масивів в PHP обмежена вільними системними ресурсами, потреба в стеку і черзі зникає. Функції для організації стека і черги були написані виключно для зручності програміста — раптом ви, програмуючи на З, звикли працювати саме із стеком або з чергою?

Функція array_unique()

Функція array_unique() призначена для витягання унікальних значень масиву разом з ключами цих значень. Ось приклад застосування цієї функції:

$Arr = array("a"=>"AAA","b"="BBB","c","d","e"="BBB", "d");

$Unique_Arr = array_unique($Arr);

// ?UniqueArr = array("a"=>"AAA","b"="BBB","c","d");


 

А также другие работы, которые могут Вас заинтересовать

33678. Особенности осмотра трупа на месте происшествия и фиксация результатов 15.45 KB
  Как относительно друг друга расположены части тела как голова относительно частей помещения Какая имеется одежда в каком она состоянии фасон модель Если юрист не знает то пусть не говорит сколько хлопка синтетики. Если на открытых частях тела есть признаки крови и т. то нужно начинать с частей тела а не одежды. Осмотр закрытых частей тела.
33679. Тактика освидетельствования 25.5 KB
  Освидетельствование осуществляется для установления на теле человека следов преступления наличия особых примет и иных признаков позволяющих судить о связи данного человека с расследуемым событием. При судебномедицинском освидетельствовании разрешаются специальные вопросы из области судебной медицины о причинах и давности причинения телесных повреждений о степени их тяжести о врожденных или приобретенных анатомических или физических аномалиях и др. Следственное освидетельствование позволяет выяснить такие вопросы: имеются ли на теле...
33680. Допрос 29 KB
  При проведении допроса в конфликтной ситуации следователь использует следующие тактические приемы: следователь и подозреваемый либо обвиняемый разъясняет допрашиваемому значение чистосердечного признания и дачи правдивых показаний; выявляет мотивы дачи ложных показаний и устраняет эти мотивы; убеждает с помощью логических доводов в бессмысленности попыток дачи ложных показаний; максимально детализирует и конкретизирует показания допрашиваемого; предъявляет доказательства изобличающие допрашиваемого начиная с самого веского либо наоборот;...
33681. Допрос подозреваемого (обвиняемого) 12.71 KB
  В соответствии с этим следователю необходимо попытаться выяснить причины конфликта и направить усилия на их устранение для формирования условия получения достоверных показаний. Основные приемы установления психологического контакта с допрашиваемым в конфликтной ситуации: 1 убедить допрашиваемого в объективности следователя внушить уважение к следователю; 2 вызвать интерес к даче показаний к процессу общения со следователем; 3 проявлять заботу о соблюдении прав допрашиваемого и об удовлетворении его за конных интересов; 4 создать и...
33682. Бесконфликтная ситуация допроса 11.48 KB
  В связи с объективным характером этой ситуации тактическая задача следователя при допросе может быть сведена к одному но весьма существенному положению: не сделать ситуацию допроса конфликтной не спровоцировать своими действиями поведением конфликт с допрашиваемым. Дело в том что успех допроса как и любого иного вида человеческого общения зависит не только от объективных но и от субъективных факторов. Необдуманная форма вызова лица на допрос оказавшаяся неприятной или нежелательной для допрашиваемого длительное ожидание под дверями...
33683. ТАКТИЧЕСКИЕ ПРИЕМЫ ОЧНОЙ СТАВКИ 12.34 KB
  Задачи очной ставки: 1 общие: а проверка имеющихся доказательств; б получение новых доказательств; в установление истины по спорным обстоятельствам; 2 конкретные: а преодоление добросовестного заблуждения допрашиваемого; б разоблачение лжи одного из допрашиваемых; в разоблачение ложного алиби; г разоблачение самооговора или оговора одного допрашиваемого другим; д разоблачение инсценировок преступления; е выяснение причин происхождения существенных противоречий; ж изучение личности допрашиваемого; з проверка и оценка следственных...
33684. Тактика подготовки и проведения предъявления для опознания живых лиц в натуре и по фотографии 14.53 KB
  тактика подготовки и проведения предъявления для опознания живых лиц в натуре и по фотографии Предъявление для опознания это самостоятельное следственное действие которое состоит в отождествлении ранее воспринимаемого объекта по его мысленному образу. Цель предъявления для опознания идентификация объекта который ранее воспринимал опознающий в связи с совершением преступления. Подготовка к предъявлению для опознания является обязательным условием успеха этого следственного действия. Она включает в себя: определение конкретной цели...
33686. ПОНЯТИЕ, ВИДЫ И ЗАДАЧИ СЛЕДСТВЕННОГО ЭКСПЕРИМЕНТА 13.35 KB
  Цель следственного эксперимента – проверка и уточнение данных имеющих значение для уголовного дела. Задачи следственного эксперимента: 1 получение новых и проверка имеющихся доказательств; 2 оценка следственных версий о возможности или невозможности существования тех или иных фактов имеющих значение для дела; 3 получение от подозреваемого обвиняемого потерпевшего и свидетеля правдивых показаний; 4 восстановление в памяти участников преступления отдельных обстоятельств которые были ими забыты или по поводу которых они добросовестно...