PHP масив: асоциативен, многомерен
⚡ Умно обобщение
PHP масивите съхраняват много свързани стойности в една променлива, което улеснява групирането и обработката на свързани данни. Това ръководство обхваща числови, асоциативни и многомерни масиви, операторите за сравнение на масиви и основни функции като count, sort, ksort и asort.

Какво е PHP масив?
PHP масивът е променлива, която съхранява повече от една част от свързани данни в една променлива.
Мислете за масив като кутия шоколадови бонбони с прорези вътре.
Кутийката представлява самия масив, докато пространствата, съдържащи шоколадови бонбони, представляват стойностите, съхранени в масива.
Примерите по-долу илюстрират как работи това.
Числови масиви
Числовите масиви използват числа като ключове за достъп.
Ключът за достъп е препратка към слот за памет в променлива на масив.
Ключът за достъп се използва винаги, когато искаме да прочетем или присвоим нова стойност на елемент от масив.
По-долу е показан синтаксисът за създаване на числов масив в PHP.
Пример за масив
<?php $variable_name[n] = value; ?>
Or
<?php
$variable_name = array(n => value, ...);
?>
ТУК,
- “$variable_name…” е името на променливата
- “[n]” е номерът на индекса за достъп на елемента
- „стойност“ е стойността, присвоена на елемента от масива.
Нека сега разгледаме пример за числов масив.
Да предположим, че имаме 5 филма, които искаме да съхраним в масив от променливи.
Можем да използваме примера, показан по-долу, за да направим това.
<?php $movie[0] = 'Shaolin Monk'; $movie[1] = 'Drunken Master'; $movie[2] = 'American Ninja'; $movie[3] = 'Once upon a time in China'; $movie[4] = 'Replacement Killers'; ?>
Тук
На всеки филм е даден индексен номер, който се използва за извличане или промяна на неговата стойност. Следвайте следния код.
<?php $movie[0]="Shaolin Monk"; $movie[1]="Drunken Master"; $movie[2]="American Ninja"; $movie[3]="Once upon a time in China"; $movie[4]="Replacement Killers"; echo $movie[3]; $movie[3] = " Eastern Condors"; echo $movie[3]; ?>
Изход:
Once upon a time in China Eastern Condors
Както можете да видите от горните примери, работата с масиви в PHP, когато се работи с множество стойности от едно и също естество, е много лесна и гъвкава.
Алтернативно, горните променливи на масива могат да бъдат създадени и с помощта на следния код.
<?php $movie = array(0 => "Shaolin Monk", 1 => "Drunken Master", 2 => "American Ninja", 3 => "Once upon a time in China", 4 => "Replacement Killers" ); echo $movie[4]; ?>
Изход:
Replacement Killers
PHP асоциативен масив
Асоциативните масиви се различават от числовите масиви по това, че използват описателни имена за идентификаторни ключове.
По-долу е показан синтаксисът за създаване на асоциативен масив в PHP.
<?php $variable_name['key_name'] = value; $variable_name = array('keyname' => value); ?>
ТУК,
- “$variable_name…” е името на променливата
- „['key_name']“ е ключът за достъп на елемента
- „стойност“ е стойността, присвоена на елемента от масива.
Да предположим, че имаме група хора и искаме да определим пола на всеки човек спрямо името му.
Можем да използваме асоциативен масив, за да направим това. Кодът по-долу ни помага да го направим.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); print_r($persons); echo ""; echo "Mary is a " . $persons["Mary"]; ?>
ТУК,
Изход:
Array ( [Mary] => Female [John] => Male [Mirriam] => Female ) Mary is a Female
Асоциативните масиви също са много полезни при извличане на данни от базата данни.
Имената на полетата се използват като id ключове.
PHP Многомерни масиви
Това са масиви, които съдържат други вложени масиви.
Предимството на многомерните масиви е, че те ни позволяват да групираме свързани данни заедно.
Нека сега разгледаме практически пример, който имплементира многомерен масив в PHP.
Таблицата по-долу показва списък с филми по категории.
| Заглавие на филм | категория |
|---|---|
| Розовата пантера | Комедия |
| Джон Инглиш | Комедия |
| Умирай трудно | действие |
| Expendables | действие |
| Властелинът на пръстените | Епопея |
| Ромео и Жулиета | Романтика |
| Не виждай зло, не чувай зло | Комедия |
Горната информация може да бъде представена като многоизмерен масив. Кодът по-долу показва изпълнението.
<?php $movies = array( "comedy" => array("Pink Panther", "John English", "See no evil hear no evil"), "action" => array("Die Hard", "Expendables"), "epic" => array("The Lord of the rings"), "Romance" => array("Romeo and Juliet") ); print_r($movies); ?>
ТУК,
Изход:
Array ( [comedy] => Array ( [0] => Pink Panther [1] => John English [2] => See no evil hear no evil ) [action] => Array ( [0] => Die Hard [1] => Expendables ) [epic] => Array ( [0] => The Lord of the rings ) [Romance] => Array ( [0] => Romeo and Juliet ) )
Друг начин за дефиниране на същия масив е следният.
<?php $film = array( "comedy" => array( 0 => "Pink Panther", 1 => "John English", 2 => "See no evil hear no evil" ), "action" => array ( 0 => "Die Hard", 1 => "Expendables" ), "epic" => array ( 0 => "The Lord of the rings" ), "Romance" => array ( 0 => "Romeo and Juliet" ) ); echo $film["comedy"][0]; ?>
Изход:
Pink Panther
Забележка: числовият масив movies е вложен в асоциативния масив categories.
PHP масиви: Operaтори
| OperaTor | Име | Descriptйон | Как да го направим | Продукция |
|---|---|---|---|---|
| х + у | съюз | Комбинира елементи от двата масива |
<?php $x = array('id' => 1); $y = array('value' => 10); $z = $x + $y; ?> |
Масив ([id] => 1 [стойност] => 10) |
| x == y | равен | Сравнява два масива и връща true, ако са равни |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x == $y) { echo "true"; } else { echo "false"; } ?> |
Вярно или 1 |
| x === y | Идентичен | Сравнява както стойностите, така и типове данни |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x === $y) { echo "true"; } else { echo "false"; } ?> |
Невярно или 0 |
| x != y, x <> y | Не е равно | Връща true, ако двата масива не са равни |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x != $y) { echo "true"; } else { echo "false"; } ?> |
Невярно или 0 |
| x !== y | Неидентичен | Връща true, ако двата масива не са идентични по стойност или тип |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x !== $y) { echo "true"; } else { echo "false"; } ?> |
Вярно или 1 |
PHP функции за масиви
Функция за броене
Функцията count се използва за преброяване на елементите, които съдържа PHP масив. Кодът по-долу показва имплементацията.
<?php $lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith"); echo count($lecturers); ?>
Изход:
3
функция is_array
Функцията is_array се използва за определяне дали дадена променлива е масив или не. Нека сега разгледаме пример, който имплементира функцията is_array.
<?php $lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith"); echo is_array($lecturers); ?>
Изход:
1
Вид
Тази функция се използва за сортиране на масиви по техните стойности.
Ако стойностите са буквено-цифрови, той ги сортира по азбучен ред.
Ако стойностите са числови, той ги сортира във възходящ ред.
Премахва съществуващите клавиши за достъп и добавя нови цифрови клавиши.
Изходът на тази функция е числов масив.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); sort($persons); print_r($persons); ?>
Изход:
Array ( [0] => Female [1] => Female [2] => Male )
ksort
Тази функция се използва за сортиране на масива с помощта на ключа. Следващият пример илюстрира използването му.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); ksort($persons); print_r($persons); ?>
Изход:
Array ( [John] => Male [Mary] => Female [Mirriam] => Female )
асортимент
Това функция се използва за сортиране на масива, използвайки стойностите, докато keeping клавишите. Следващият пример илюстрира употребата му.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); asort($persons); print_r($persons); ?>
Изход:
Array ( [Mary] => Female [Mirriam] => Female [John] => Male )
Защо да използваме масиви?
- Съдържанието на масивите може да бъде разтегнато, за да съдържа повече стойности.
- Масивите лесно помагат за групиране на свързана информация, като например данни за вход в сървъра.
- Масивите помагат за писане на по-чист код.



