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");


 

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

63077. Правильные и неправильные глаголы 40.61 KB
  Соответствия словам русского языка: cловам на -ция (революция, нация, абстракция) соответствуют английские слова на -tion (revolution, nation, abstraction); словам на -сия (профессия, экспрессия) соответствуют английские слова на -sion (profession, expression).
63078. Методика викладання географії. Самостійні роботи 239.5 KB
  Незважаючи на різноманітні трактування поняття «критичне мислення», загальний зміст їх зводиться до такого: критично мислити – значить усвідомлено оцінювати, міркувати, мислити, тобто проявляти людиною психічну...
63080. Методика проведення вступного інструктажу під час уроку виробничого навчання на тему «Підготовка самохідних машин до роботи» 59.77 KB
  Метою курсової роботи є закріплення, поглиблення й систематизація наукових знань і практичних навичок студентів з проведення вступного інструктажу на тему: «Підготовка самохідних машин до роботи».
63081. Уроки физической культуры в начальных классах 3.14 MB
  Уроки физической культуры — основная форма обучения, воспитания и развития учащихся. В процессе обучения физическим упражнениям дети с нарушениями интеллекта приучаются выполнять их в различных условиях: утром при проведении зарядки, на уроках письма, математики, ручного труда.