Помогни ни да направим Uroci.net по - богат! Добави урок

PHP - част 5 (Работа с масиви)

PHP » PHP
fix3d   трудност:    видян: 17345



Работа с масиви

Инициализиране на масиви
Масивите могат да се инициализират по два начина. Можете да инициализирате масив, като използвате:

Идентификатора на масива
Функцията array()

Използване на идентификатора на масив

Идентификатора на масив е празно множество от квадратни скоби. Можете да използвате идентификатора на масив, за да инициализирате масива Student по следния начин:

$Student[] = "James"
$Student[] = "John"

Тук присвоихте стойностите James и John на масива Student. Обърнете внимание, че не сте задали индекси. Поради тази причина на индексите 0 и 1 са присвоени съответно стойностите James и John.

Можете също така да зададете индексите явно. Например:

$Student[1] = "John"$Student[0]

Обикновено се присвояват стойности на последователни стойности в масива. Но можете да присвоите стойности на произволни индекси в масива. Например:
$Student[10] = "James"
$Student[3] = "John"

В горния пример са присвоени стойности на непоследователни индекси в масива. Ако трябва да зададете индекс на нова стойност, новия индекс, ще е с единица по-голям от последния индекс. Например, ако трябва да зададете индекс на нов елемент със стойност Sarah, то новият индекс ще е 11, тъй като последния индекс е 10

Използване на функцията array()
Един по-прост начин за инициализиране на масив е използването на функцията array(). Това е просто, защото чрез използването на функцията array() задавате едновременно множество стойности. Можете да използвате функцията array(), за да дефинирате масива Student по следния начин:
$Student = array("James", "John", "Susan");

Сега, ако използвате командата Print "Student [1]", на екрана ще се появи James. Можете да използвате оператора => по следния начин:
$Student = array("James", 5 => "John", "Susan");

В горния пример на стойността James се присвоява индекс 0, на John индекс 5, a на Susan индекс 6


Работа с масиви
Използвайки вградените функции, можете да извършвате следните операции:

Да променяте размера на масиви.
Да обхождате масив.
Да откривате елементи на масив.
Да обърнете реда на масив.
Да сортирате масив.


Промяна на размера на масив
Можете да променяте размера на масив, като използвате различни функции, предоставени от PHP.
Чрез тях можете"

Дa определите размера и броя на елементите в масив. Можете да осъществите достъп до елемент, като използвате индекса му. Обаче за да изчислите броя на елементите в масив, трябва да използвате функцията count(). Можете също така да изчислите броя на елементите в масив. За да разберете по-добре действието на функцията count(), ще разгледаме следния пример.
$Student array ( "Susan", "Betty", "Wiki");
$Number - count ($Student);
Print $Number;

Горния код инициализира масив Student с три елемента. Функцията count() връща броя на елементите в масива. Той се съхранява в променливата $Number. Когато визуализирате стойността на променливата ще видите, че тя е 3. За да намерите стойността на индекса на последния елемент, трябва да извадите единица от стойността на променливата $Number.
ДА промените размера на масив. Можете да намалявате, или увеличавате размера (дължината) на масив, като използвате различните функции в PHP. Промяната на размера на масив включва:
Намаляване на размера на масив. За да намалите размера на масив, трябва да използвате функцията array_slice(). Функцията array_slice, получава като параметър масив, начална позиция и дължина. Например, ако имате масив от седем елемента и искате да намалите броя му до 4 елемента, използвате функцията array_slice()
$Student array ("a", "b", "c", "d", "e", "f", "g", "h");
array_slice($Student, 4);

Функцията array_slice намалява броя на елементите от 7 на 4.

Видяхте, как можете да намалявате дължината на масив. При това намаляване обаче, се премахват последните елементи от масива. Ако искате да премахнете първите елементи от масива, трябва да използвате функцията array_shift().
Функцията array_shift() премахва първият елемент от масив. Елементите се предават на масива като аргумент. Например, нека да инициализираме масив по следния начин:
$Student array ( "Susan", "Betty", "Wiki");

Сега можете да използвате функцията array_shift() и да премахнете резултата в променливата $New
$New = arraay array_shift($Student);

Първият елемент от масива $Student, автоматично ще бъде премахнат от функцията array_shift().
Увеличаване дължината на масив. Да предположим, че е необходимо да се добавя още елементи в горния масив $Sudent. Можете да направите това, като използвате функцията array_push(). Функцията array_push() приема като параметър масив и връща като резултат общия брой на елементите в масива. Да разгледаме следния пример:
$Student array ( "Susan", "Betty", "Wiki"); $Insert = array_push ($Student, a, b, c);

Тук сме взели масива Student и сме добавили към него елементите a, b, и c. След това съхраняваме елементите в нов масив с име Insert, който съдържа шест стойности.
Сега да предположим, че искате да добавите всички стойности ит един масив в друг. В този случай, можете да съберете самите масиви, вместо да работите елемент по елемент, защото е по-бързо и по-лесно. Не можете да събирате масиви, като използвате функцията array_push. В PHP има функция с име array_marge(), която ви позволява да слеете два масива.
Функцията array_marge() слива два или повече масива и връща като резултат комбинирания масив.

Например:
$Student array ( "Susan", "Betty", "Wiki");
$Class = array ("4", "5", "6");
$Combine = $Student + $Class;

Масива Combine, съдържа копия от всички елементи от масивите Student и Class. Така масива Combine ще съдържа следните стойности:

Сега да предположим, че масивите Студент и Class имат няколко общи елемента. Например:
$Student array ( "Susan", "Betty", "5"); $Class = array ("4", "5", "6");

Когато слеете масивите, общият елемент, ще присъства само веднъж в резултатния масив. Обаче, ако не искате да загубите общия елемент в двата масива, можете да използвате функцията array_marge_recursivw(). Можете да използвате тази функция, и ако не искате да загубите индекси по време на сливането на масивите. Функцията array_marge_recursivw() копира всички елементи, които са в масивите.
Намиране на сечението или обединението на масиви. Понякога може да ви се наложи да намерите сечението на два масива. В тези случаи трябва да използвате функцията array_intersect(). Да разгледаме например следния програмен фрагмент:
$old = array ("a", "b", "c"); $new = array ("c", "d", "e"); $Intersection = array_marge_recursivw($old, $new);

В горния код първо се инициализира масив old и new. След това се намира сечението на двата масива и резултатът се съхранява в друг масив.
Ако искате да намерите всички елементи и в двата масива, използвайте функцията union. Функцията union има следния синтаксис:

Union = (масив);

Намиране на уникалните елементи на масив. За да намерите уникалните (неповтарящи се ) елементи на амсив, трябва да използвате функцията array_unique(). Това е вградена функция в PHP. Функцията array_unique() приема масива като елемент, премахва дублиращите се елементи в него и като резултат връща нов масив. Можете да използвате тази функция, както върху номерирани масиви, така и върху асоциативни масиви. Функцията array_unique() има следния синтаксис:

$unique = array_unique($old);


Страници: «1 2 3 »

Коментари (1)

azerot на 17.07 2008 в 17:42ч.
(clap) Доста добре направено!

Регистрирайте се, за да добавите коментар


Калдейта ЕООД - © 2003-2010. Всички права запазени.
Препоръчваме: Национален Бизнес | Bomba.bg | IT Новини | Диплома.бг | TRAVEL туризъм | Реферати | AmAm.bg | Иде.ли | Курсови работи | Фото Форум | Spodeli.net | Фото-Култ | Atol.bg | Elmaz.com | MobileBulgaria.com | Казанлък.Com