PHP: Додавання та видалення елементів масиву. Додавання елементів до масиву Створити масив і додавати дані php
PHPпідтримує скалярні та складові типи даних. У цій статті ми обговоримо один із складових типів: масиви. Масив є набір значень даних, організованих як упорядкований набір пар ключ-значення.
У цій статті йдеться про створення масиву, додавання елементів до масиву. Є багато вбудованих функцій, які працюють з масивами в PHP,тому що масиви є поширеними та корисними для використання. Наприклад, якщо ви хочете відправити лист на більш ніж одну адресу електронної пошти, ви можете зберігати адреси електронної пошти в масиві, а потім робити цикл масиву, відправляючи повідомлення на адресу електронної пошти, взятий з масиву.
Індексовані та асоціативні масиви
Є два види масивів у PHP: індексні та асоціативні. Ключі індексованого масиву - цілі числа, починаючи з 0. Індексовані масиви використовуються, коли вам потрібне конкретне положення в масиві. Асоціативні масиви поводяться як дві колонки таблиці. Перший стовпець є ключем, який використовується для доступу до значення (другий стовпчик).
PHPвнутрішньо зберігає всі масиви як асоціативні масиви, так що єдина різниця між асоціативними та індексованими масивами є те, що з'являються ключі. Деякі функції передбачені в основному для використання з індексованими масивами, оскільки вони припускають, що у вас ключі є послідовними цілими числами, починаючи з 0. В обох випадках ключі є унікальними - тобто, ви не можете мати два елементи з однаковим ключем, незалежно від того, чи є ключ рядком чи цілим числом.
У PHPмасиви мають внутрішній порядок своїх елементів, який залежить від ключів і значень, і є функції, які можна використовуватиме обходу масивів з урахуванням цього внутрішнього порядку.
Визначення елементів масиву
Ви можете отримати доступ до конкретних значень з масиву, використовуючи ім'я масиву, за яким слідує ключ елемента (іноді званий індекс) у квадратних дужках:
$age["Fred"]; $ shows;
Ключ може бути рядком або цілим числом. Строкові значення як чисел (без провідних нулів) розглядаються, як цілі числа. Таким чином, $arrayі $array[‘3’]посилаються на той самий елемент, але $array[’03’]посилається на інший елемент. Негативні числа так само можуть бути використані як ключі, але вони не визначають позиції з кінця масиву, як у Perl.
Не обов'язково писати ключ у лапках. Наприклад, $array[‘Fred’]подібно $arrat.Тим не менш, вважається гарним стилем PHPзавжди використовувати лапки. Якщо індекс без лапок, то PHP використовує значення константи як індекс:
Define("index",5); echo $array; // поверне $array, не $array["index"];
Якщо ви хочете підставити в індекс число, потрібно робити так:
$age["Clone$number"]; // Поверне, наприклад $age["Clone5"];
Однак, не вказуйте ключ у лапках у наступному випадку:
// неправильно print "Hello, $person["name"]"; print "Hello, $person["name"]"; // Правильно print "Hello, $person";
Зберігання даних у масивах
При спробі збереження значення в масиві автоматично буде створено масив, якщо він не існував раніше, але при спробі вибрати значення з масиву, який не був визначений, масив не буде створений. Наприклад:
// $addresses не визначено досі echo $addresses; // нічого echo $addresses; // нічого $addresses = " [email protected]"; echo $addresses; // друк "Array"
Можна використовувати просте присвоєння для ініціалізації масиву у програмі:
$addresses = " [email protected]$addresses = " [email protected]$addresses = " [email protected]"; // ...
Ми оголосили індексний масив із цілими індексами, починаючи з 0.
Асоціативний масив:
$price["Gasket"] = 15.29; $price["Wheel"] = 75.25; $ price [ " Tire " ] = 50.00; // ...
Простіший спосіб ініціалізації масиву полягає у використанні конструкції Array(), Що будує масив з її аргументів:
$addresses = array(" [email protected]", "[email protected]", "[email protected]");
Щоб створити асоціативний масив за допомогою Array(),використовуйте => символ, що відокремлює індекси від значень:
$price = array("Gasket" => 15.29, "Wheel" => 75.25, "Tire" => 50.00);
Зверніть увагу на використання пробілів та вирівнювання. Ми могли б згрупувати код, але це буде менш наочно:
$price = array("Gasket"=>15.29,"Wheel"=>75.25,"Tire"=>50.00);
Щоб створити порожній масив, потрібно викликати конструкцію Array()без аргументів:
$addresses = Array();
Ви можете вказати початковий ключ у масиві, а потім список значень. Значення вводяться в масив, починаючи з ключа з подальшим збільшенням:
$days = array(1 => "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"); // 2 is Tuesday, 3 is Wednesday, etc.
Якщо початковий індекс є рядком, наступні індекси стають цілими числами, починаючи з 0. Таким чином, наступний код є, ймовірно, помилкою:
$whoops = array("Friday" => "Black", "Brown", "Green"); // same as $whoops = array("Friday" => "Black", 0 => "Brown", 1 => "Green");
Додавання нового елемента до кінця масиву
Щоб вставити кілька значень у кінець існуючого індексованого масиву, використовуйте синтаксис:
$family = array("Fred", "Wilma"); // $family = "Fred" $family = "Pebbles"; // $family = "Pebbles"
Ця конструкція передбачає, що індексами масиву є числа і надає елементу наступний доступний числовий індекс, починаючи з 0. Спроба додати елемент в асоціативний масив майже завжди є помилкою програміста, але PHPдодасть нові елементи з числовими індексами (починаючи з 0) без попередження:
$person = array("name" => "Fred"); // $person["name"] = "Fred"; $person = "Wilma"; // $person = "Wilma"
На даному етапі ми закінчимо вступну частину роботи з масивами PHP. Чекаю на вас у наступній статті.
Додавання елементів до масиву
Якщо масив існує, до нього можна додавати додаткові елементи. Це робиться безпосередньо за допомогою оператора присвоювання (знак рівності) так само, як присвоєння значення рядку чи числу. При цьому можна не задавати ключ доданого елемента, але в будь-якому випадку при зверненні до масиву необхідні квадратні дужки. Додаючи два нових елементи до списку $List, напишемо:
$ List = "pears";
$ List = "tomatoes";
Якщо ключ не заданий, кожен елемент буде додано до існуючого масиву і проіндексовано наступним порядковим номером. Якщо ми додамо нові елементи до масиву з попереднього розділу, елементи якого мали індекси 1, 2 і 3, то у груш (pears) буде індекс 4, а у помідорів (tomatoes) 5. Коли ви явно задає індекс, а значення з ним вже існує, то істота, що існувала в цьому місці, буде втрачено і замінено новим:
$ List = "pears";
$ List = "tomatoes";
Тепер значення елемента з індексом 4 «помідори», а елемента «апельсини» (oranges) більше немає. Я б порадив не вказувати ключ при додаванні елементів до масиву, якщо, звичайно, ви не хочете спеціально переписати будь-які існуючі дані. Однак, якщо в якості індексів використовуються рядки, ключі потрібно вказувати обов'язково, щоб не втратити значення.
Ми спробуємо додати до масиву нові елементи, переписавши сценарій soups.php. Спочатку роздрукувавши вихідні елементи масиву, а потім вихідні разом з доданими, ми легко побачимо зміни, що відбулися. Подібно до того, як можна дізнатися довжину рядка (кількість символів, що містяться в ній) за допомогою функції strlen () , також неважко визначити кількість елементів у масиві за допомогою функції count () :
$ HowMany = count ($ Array);
- Відкрийте файл soups.php у текстовому редакторі.
- Після ініціалізації масиву за допомогою функції array () додайте наступний запис: $ HowMany = count ($ Soups);
- Додайте до масиву три додаткові елементи. $Soups["Thursday"] = "Chicken Noodle";
- Перерахуйте елементи у масиві та роздрукуйте це значення. $ HowManyNow = count ($ Soups);
- Збережіть сценарій (листинг 7.2), завантажте його на сервер і протестуйте у браузері (мал.).
print ("The array contains $HowMany elements."
\n");
Функцією count () буде визначено, скільки елементів міститься в масиві $ Soups. Надавши це значення змінної, його можна роздрукувати.
$ Soups["Friday"] = "Tomato";
$Soups["Saturday"] = "Cream of Broccoli";
print ("The array now contains $HowManyNow elements."
\n");
Лістинг 7.2 т Можна безпосередньо додавати по одному елементу масив, присвоюючи кожному елементу значення за допомогою відповідного оператора. За допомогою функції count () вдасться дізнатися, скільки елементів міститься в масиві.
1
2
3
4
5 6 $Soups = array(
7 "Monday"=>"Clam Chowder",
8 "Tuesday"=>"White Chicken Chili",
9 "Wednesday" => "Vegetarian");
11 print ("The array contains $HowMany
елементів.
\n");
12 $Soups["Thursday"] = "Chicken Noodle";
13 $Soups["Friday"] = "Tomato";
14 $Soups["Saturday"] = "Cream of
Broccoli";
15 $ HowManyNow = count ($ Soups);
16 print ("The array now contains
$HowManyNow elemente.
\n");
17 ?>
18
19
У РНР 4.0 з'явилася нова функція, що дозволяє додавати один масив до іншого. Цю операцію можна назвати злиттям або зчепленням масивів. Функція array_merge () викликається так:
$NewArray = array_merge ($OneArray, $TwoArray);
Ви можете переписати сторінку soups.php за допомогою цієї функції, якщо працюєте з сервером, на якому встановлено РНР 4.0.
Об'єднання двох масивів
- Відкрийте файл soups.php у текстовому редакторі, якщо він ще не відкритий.
- Після ініціалізації масиву $Soups порахуйте його елементи і надрукуйте результат. $ HowMany = count ($ Soups);
- Об'єднайте два масиви на один. $TheSoups = array_merge ($Soups, $Soups2);
- Порахуйте елементи нового масиву та надрукуйте результат. $HowMany3 = count($TheSoups);
- Закрийте РНР та HTMLдокумент. ?>
- Збережіть файл (листинг 7.3), завантажте його на сервер і протестуйте у браузері (мал.).
print ("The $Soups array contains $HowMany elements."
\n");
- Створіть другий масив, порахуйте його елементи та надрукуйте результат.
"Thursday"=>"Chicken Noodle",
"Friday"=>"Tomato",
"Saturday"=>"Cream of Broccoli");
$ HowMany2 = count ($ Soups2);
print ("The $Soups2 array contains $HowMany2 elements."
\n");
Простежте, щоб масиви були розташовані саме в цьому порядку ($Soups, потім $Soups2), тобто елементи четверга та п'ятниці мають бути додані до елементів понеділка середи, а не навпаки.
print ("The $TheSoups array contains
-$HowMany3 elements.
\n");
Лістинг 7.3 т Функція Array_merge () є новою. Це одна з кількох додаткових функцій РНР 4.0, призначена для роботи з масивами. Використовуючи масиви, можна значно заощадити час.
1
2
3
4
5 6 $Soups = array!
7 "Monday"=>"Clam Chowder",
"Tuesday"=>"White Chicken Chili",
8 "Wednesday"=>"Vegetarian"
9);
10 $ HowMany = count ($ Soups);
11 print ("The $Soups array contains $HowMany elements."
\n");
12 $Soups2 = array(
13 "Thursday"=>"Chicken Noodle",
14 "Friday"=>"Tomato",
15 "Saturday"=>"Cream of Broccoli"
16); .
17 $ HowMany2 = count ($ Soups2);
18 print ("The $Soups2 array contains $HowMany2 elements."
\n");
19 $TbeSoupe = array_merge ($Soups, $Soups2);
20 $ HowMany3 = count ($ TheSoups) ;
21 print ("The $TheSoups array contains .$HowMany3 elements."
\n");
22 ?> "
23
24
Будьте уважні при додаванні елементів до масиву безпосередньо. Правильно це робиться так: $ Ar ray = "Add This"; ияи$Аггау = "Add This";, а не правильно ось так: $Аггау = "Add This";. Якщо ви забули поставити дужки, то додане значення знищить існуючий масив, перетворивши його на простий рядок чи число.
РНР 4.0 має кілька нових функцій для роботи з масивами. Не всі вони розглянуті в книзі. Однак повна інформація з цього питання міститься в посібнику з мови РНР, яке можна знайти на сайті РНР. Будьте уважні і не використовуйте нові функції, притаманні тільки РНР 4.0, якщо на вашому сервері працює РНР 3.x.
Для перетворення масивів на php є безліч функцій та операторів: Збірник функцій для роботи з масивами
Є кілька способів, щоб додати масив в масив за допомогою php і всі вони можуть стати в нагоді для окремих випадків.
«Оператор +»
Це простий, але підступний спосіб:
$c = $a + $b
Так додаються тільки ключі, яких ще немає в масиві $a. При цьому елементи дописуються до кінця масиву.
Тобто якщо ключ із масиву $b відсутній у масиві $a, то в результуючому масиві додасться елемент із цим ключем.
Якщо в масиві $a вже є елемент із таким ключем, його значення залишиться без змін.
Інакше кажучи від зміни місць доданків сума змінюється: $a + $b != $b + $a - варто запам'ятати.
А тепер докладніший приклад, щоб проілюструвати це:
$arr1 = ["a" => 1, "b" => 2]; $arr2 = ["b" => 3, "c" => 4]; var_export($arr1 + $arr2); //array (// "a" => 1, // "b" => 2, // "c" => 4, //) var_export($arr2 + $arr1); //array (// "b" => 3, // "c" => 4, // "a" => 1, //)
Функція array_merge()
Використовувати цю функцію можна так:
$result = array_merge($arr1, $arr2)
Вона скидає числові індекси та замінює рядкові. Відмінно підходить для того, щоб склеїти два або кілька масивів із числовими індексами:
Якщо вхідні масиви мають однакові рядкові ключі, то кожне наступне значення буде замінювати попереднє. Однак, якщо масиви мають однакові числові ключі, значення, згадане останнім, не замінить вихідне значення, а буде додано до кінця масиву.
Функція array_merge_recursive
Робить те саме, що й array_merge тільки ще й рекурсивно проходить по кожній гілці масиву і робить те саме з нащадками.
Функція array_replace()
Замінює елементи масиву на елементи інших переданих масивів.
Функція array_replace_recursive()
Те ж саме і array_replace тільки обробляє всі гілки масиву.
Розглянемо способи запису значень масив. Існуючий масив може бути змінений явною установкою значень. Це виконується за допомогою надання значень масиву.
Операція надання значення елементу масиву виглядає так само, як операція надання значення змінної, за винятком квадратних дужок (), які додаються після імені змінної масиву. У квадратних дужках вказується індекс/ключ елемента. Якщо індекс/ключ не вказано, PHP автоматично вибере найменший незайнятий числовий індекс.
"нуль", 1 => "один"); $ my_arr = "два"; $my_arr = "три"; var_dump($my_arr); // привласнення без вказівки індексу/ключа $my_arr = "чотири"; $my_arr = "п'ять"; echo "
"; var_dump($my_arr); ?>
Для зміни певного значення потрібно просто привласнити нове значення вже існуючому елементу. Щоб видалити будь-який елемент масиву з його індексом/ключом або повністю видалити сам масив, використовується функція unset() :
Примітка: як вже згадувалося вище, якщо елемент додається до масиву без вказівки ключа, PHP автоматично використовуватиме попереднє найбільше значення ключа типу integer , збільшене на 1. Якщо цілісних індексів у масиві ще немає, то ключем буде 0 (нуль).
Врахуйте, що найбільше ціле значення ключа не обов'язково існує в масиві в даний момент, таке може бути через видалення елементів масиву. Після видалення елементів, переіндексація масиву не відбувається. Наведемо такий приклад, щоб стало зрозуміліше:
"; print_r($my_arr); // Додаємо елемент (зверніть увагу, що новим ключем буде 3, замість 0). $my_arr = 6; echo "
"; print_r($my_arr); // Робимо переіндексацію: $my_arr = array_values($my_arr); $my_arr = 7; echo "
"; print_r($my_arr); ?>
У цьому прикладі використовувалися дві нові функції, print_r() та array_values() . Функція array_values() повертає індексований масив (наново індексує повертаний масив числовими індексами), а функція print_r працює на кшталт var_dump , але виводить масиви в більш зручному для читання вигляді.
Тепер ми можемо розглянути третій спосіб створення масивів:
У прикладі було показано третій спосіб створення масиву. Якщо масив $weekdays ще не був створений, він буде створений. Однак такий вид створення масиву не рекомендується застосовувати, оскільки якщо змінна $weekdays вже була створена раніше і містить значення, це може призвести до несподіваних результатів роботи сценарію.
Якщо у вас виникають сумніви щодо того, чи є змінна масивом, скористайтеся функцією is_array . Наприклад, перевірку можна виконати так:
"; $no = "звичайний рядок"; echo is_array($no) ? "Масив" : "Не масив"; ?>
array_pad
Додає масив кілька елементів.
Синтаксис:
Array array_pad(array input, int pad_size, mixed pad_value)
Функція array_pad() повертає копію масиву input, в який були додані елементи зі значеннями pad_value, так, що число елементів в масиві, що вийшло, буде дорівнює pad_size.
Якщо pad_size>0, то елементи будуть додані до кінця масиву, а якщо<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");
// не додасть
array_map
Застосування функції користувача до всіх елементів зазначених масивів.
Синтаксис:
Array array_map(mixed callback, array arr1 [, array ...])
Функція array_map() повертає масив, який містить елементи всіх зазначених масивів після обробки користувальницькою функцією callback.
Кількість параметрів, що передаються функції користувача, повинна збігатися з кількістю масивів, переданих функції array_map().
Приклад використання функції array_map(): Обробка одного масиву
return $n*$n*$n;
}
$a = array(1, 2, 3, 4, 5);
$b = array_map("cube", $a);
print_r($b);
?>
Array(
=> 1
=> 8
=> 27
=> 64
=> 125
)
Приклад використання функції array_map(): Обробка кількох масивів
return "Число $n іспанською - $m";
}
function map_Spanish($n, $m) (
return array ($n => $m);
}
$a = array(1, 2, 3, 4, 5);
$b = array("uno", "dos", "tres", "cuatro", "cinco");
$c = array_map("show_Spanish", $a, $b);
print_r($c);
$d = array_map("map_Spanish", $a, $b);
print_r($d);
?>
Наведений приклад виведе наступне:
// printout of $cArray(
=> Число 1 іспанською - uno
=> Число 2 іспанською - dos
=> Число 3 іспанською - tres
=> Число 4 іспанською - cuatro
=> Число 5 іспанською - cinco
)
// printout of $dArray(
=> Array
=> uno
)
=> Array
=> dos
)
=> Array
=> tres
)
=> Array
=> cuatro
)
=> Array
=> cinco
)
Зазвичай функцію array_map() застосовують до масивів, що мають однакову розмірність. Якщо масиви мають різну довжину, менші їх доповнюються елементами з порожніми значеннями.
Слід зазначити, що й замість імені обробної функції задати null, буде створено масив масивів.
Приклад використання функції array_map(): Створення масиву масивів
$b = array("one", "two", "three", "four", "five");
$c = array("uno", "dos", "tres", "cuatro", "cinco");
$d = array_map(null, $a, $b, $c);
print_r($d);
?>
Наведений приклад виведе наступне:
Array(
=> Array
=> 1
=> one
=> uno
)
=> Array
=> 2
=> two
=> dos
)
=> Array
=> 3
=> three
=> tres
)
=> Array
=> 4
=> four
=> cuatro
)
=> Array
=> 5
=> five
=> cinco
)
Функція підтримується PHP 4> = 4.0.6, PHP 5
array_pop
Витягує та видаляє останні елементи масиву.
Синтаксис:
mixed array_pop (array arr);
Функція array_pop() витягує останній елемент із масиву arr і повертає його, видаливши після цього. За допомогою цієї функції ми можемо будувати конструкції, що нагадують стек. Якщо масив arr був порожній або це не масив, функція повертає порожній рядок NULL.
Після використання функції array_pop() курсор масиву встановлюється на початок.
Приклад використання функції array_pop():
$fruits = array_pop($stack);
print_r($stack);
print_r($fruits);
?>
Приклад виведе наступне:
Array(
=> orange
=> banana
=> 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():
array_push($stack, "apple", "raspberry");
print_r($stack);
?>
Приклад виведе наступне:
Array(
=> orange
=> banana
=> apple
=> raspberry
)
Зверніть увагу, що функція array_push() сприймає масив як стек і додає елементи завжди в його кінець.
Функція підтримується PHP 4, PHP 5
array_shift
Витягує та видаляє перший елемент масиву.
Синтаксис:
mixed array_shift(array arr)
Функція array_shift() отримує перший елемент масиву arr і повертає його. Вона дуже нагадує array_pop(),
але лише отримує початковий, а чи не кінцевий елемент, і навіть виробляє досить сильну " струс " всього масиву: адже при вилученні першого елемента доводиться коригувати все числові індекси в усіх елементів, т.к. всі наступні елементи масиву зсуваються однією позицію вперед. Рядкові ключі масиву не змінюються.
Якщо масив arr порожній або він не масив, функція повертає NULL.
Після використання цієї функції покажчик масиву стає на початок.
Приклад використання функції array_shift():
$fruit = array_shift($stack);
print_r($stack);
?>
Цей приклад виведе наступне:
Array(
=> banana
=> apple
=> raspberry
)
а змінна $fruit матиме значення "orange"
Функція підтримується PHP 4, PHP 5
array_unshift
Додає одне або кілька значень початку масиву.
Синтаксис:
Int array_unshift(list arr, mixed var1 [, mixed var2, ...])
Функція array_unshift() додає передані значення var початку масиву arr. Порядок розміщення нових елементів у масиві зберігається. Усі цифрові індекси масиву будуть змінені таким чином, щоб вона починалася з нуля. Усі строкові індекси масиву не змінюються.
Функція повертає нову кількість елементів у масиві.
Приклад використання функції array_unshift():
array_unshift($queue, "apple", "raspberry");
?>
Тепер змінна $queue матиме такі елементи:
Array(
=> apple
=> raspberry
=> orange
=> banana
)
Функція підтримується PHP 4, PHP 5
array_unique
Видаляє дублюючі значення масиві.
Синтаксис:
Array array_unique(array arr)
Функція array_unique() повертає масив, складений із усіх унікальних значень масиву arr разом з їх ключами, шляхом видалення всіх значень, що дублюють. У результуючий масив поміщаються перші пари, що зустрілися, ключ => значення. Індекси зберігаються.
Приклад використання функції array_unique():
"green", "red", "b" =>
"green", "blue", "red");
print_r($result);
?>
Приклад виведе наступне:
Array(
[a] => green
=> red
=> blue
)
Приклад використання функції array_unique(): Порівняння типів даних
$result = array_unique($input);
var_dump($result);
?>
Приклад виведе наступне:
Array(2) (
=> int(4)
=> 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("перший елемент",
"Другий елемент",
"третій елемент",
"4-ий елемент",
"п'ятий елемент");
print_r(array_chunk($array, 2));
print_r(array_chunk($array, 2, TRUE));
Приклад виведе наступне:
Array(
=> Array
=> Перший елемент
=> Другий елемент
)
=> Array
=> третій елемент
=> 4-ий елемент
)
=> Array
=> 5-ий елемент
)
)
Array(
=> Array
=> Перший елемент
=> Другий елемент
)
=> Array
=> третій елемент
=> 4-ий елемент
)
=> Array
=> 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.
Приклад використання array_diff_uassoc():
print_r($a);
?>
Приклад виведе наступне:
Array(
=> banana
=> banana
=> banana
=> banana
=> banana
=> banana
)
Функція підтримується PHP 4> = 4.2.0, PHP 5
array_filter
Функція застосовує фільтр до масиву, використовуючи функцію користувача.
Синтаксис:
Array array_filter(array input [, callback callback])
Функція array_filter() повертає масив, який містить значення, наявні в масиві input відфільтровані відповідно до результатів роботи користувальницької функції callback.
Якщо вихідний масив input є асоціативним масивом, в результуючому масиві індекси зберігаються.
Приклад використання функції array_filter():
return ($var % 2 == 1);
}
function even($var) (
return ($var % 2 == 0);
}
$array1 = array ("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array (6, 7, 8, 9, 10, 11, 12);
echo "Непарні: n";
print_r(array_filter($array1, "odd"));
echo "парні:n";
t_r(array_filter($array2, "even"));
?>
Приклад виведе наступне:
Непарні: Array (
[a] => 1
[c] => 3
[e] => 5
Пора:Array(
=> 6
=> 8
=> 10
=> 12
)
Замість імені фільтруючої функції можна вказати масив, який містить посилання на об'єкт та ім'я методу.
Також варто відзначити, що при обробці масиву ary_filter() його не можна змінювати: додавати, видаляти елементи або обнулювати масив, т.к. це може призвести до некоректної роботи функції.
Функція підтримується PHP 4> = 4.0.6, PHP 5