PHP — Масиви

727

Від автора: PHP масиви — це структури даних, які зберігають один або кілька однакових значень в одному значенні. Наприклад, якщо ви хочете зберегти 100 чисел, то замість визначення 100 змінних легко визначити масив довжиною 100.

Існує три різних типи масивів, в яких кожне значення масиву доступно за допомогою ідентифікатора, званого індексом масиву.

Числовий масив — це масив з числовим індексом. Значення зберігаються і доступні лінійним чином.

Асоціативний масив — це масив з рядками в якості індексу. Він зберігає значення елементів у поєднанні з ключовими значеннями, а не строгим лінійним порядком індексу.

Багатовимірний масив. Доступ до масиву, який містить один або кілька масивів і значень, здійснюється з використанням декількох індексів.

ПРИМІТКА. Вбудовані функції масиву описані в статті, присвяченій функцій масиву PHP.

Числовий масив

Ці масиви можуть зберігати числа, рядки і будь-який об’єкт, а їх індекс буде представлений числом. За замовчуванням індекс масиву починається з нуля.

Приклад

Нижче наведено приклад створення і отримання доступу до числових масивів. Тут ми використовували для створення масиву функцію array().

“;
}
/* Другий метод створення масиву. */
$numbers[0] = “one”;
$numbers[1] = “two”;
$numbers[2] = “three”;
$numbers[3] = “four”;
$numbers[4] = “five”;
foreach( $numbers as $value ) {
echo “Value is $value
“;
}
?>

Це дає наступний результат:

Value is 1
Value is 2
Value is 3
Value is 4
Value is 5
Value is one
Value is two
Value is three
Value is four
Value is five

Асоціативні масиви

Асоціативні масиви, дуже схожі на числові масиви з точки зору функціоналу, відмінність полягає тільки в індексах. Індекси асоціативних масивів являють собою рядок, за допомогою якої встановлюється зв’язок між ключем і значенням.

Наприклад, для зберігання в масиві зарплат співробітників числовий індексний масив не є оптимальним вибором. Замість цього краще використовувати імена співробітників у якості ключів в асоціативному масиві, а значення використовувати їх зарплати.

ПРИМІТКА. Не зберігайте асоціативний масив всередині подвійних лапок при виведенні, інакше він не поверне ніякого значення.

2000, “qadir” => 1000, “zara” => 500);
echo “Salary of columbus is “. $salaries[‘columbus’] . “
“;
echo “Salary of qadir is “. $salaries[‘qadir’]. “
“;
echo “Salary of zara is “. $salaries[‘zara’]. “
“;
/* Другий метод створення масиву */
$salaries[‘columbus’] = “high”;
$salaries[‘qadir’] = “medium”;
$salaries[‘zara’] = “low”;
echo “Salary of columbus is “. $salaries[‘columbus’] . “
“;
echo “Salary of qadir is “. $salaries[‘qadir’]. “
“;
echo “Salary of zara is “. $salaries[‘zara’]. “
“;
?>

Це дає наступний результат –

Salary of columbus is 2000
Salary of qadir is 1000
Salary of zara is 500
Salary of columbus is high
Salary of qadir medium is
Salary of zara is low

Багатовимірні масиви

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

Приклад

У цьому прикладі ми створюємо двовимірний масив для зберігання оцінок трьох студентів з трьох предметів. Цей приклад представляє собою асоціативний масив, ви можете таким же чином створити числовий масив.

array (
“physics” => 35,
“maths” => 30,
“chemistry” => 39
),
“qadir” => array (
“physics” => 30,
“maths” => 32,
“chemistry” => 29
),
“zara” => array (
“physics” => 31,
“maths” => 22,
“chemistry” => 39
)
);
/* Отримання доступу до значення багатовимірного масиву */
echo “Marks for mohammad in physics :” ;
echo $marks[‘columbus’][‘physics’] . “
“;
echo “Marks for qadir in maths : “;
echo $marks[‘qadir’][‘maths’] . “
“;
echo “Marks for zara in chemistry :” ;
echo $marks[‘zara’][‘chemistry’] . “
“;
?>

Це дає наступний результат:

Marks for mohammad in physics : 35
Marks for qadir in maths : 32
Marks for zara in chemistry : 39