PHP
Массивы
Первый способ объявления массива
Второй способ объявления массива
Массив (php.net) - это набор данных, которые объединены под одним именем. Массив состоит из нескольких элементов, которые имеют свой определенный индекс. Массивы, в отличии от переменных, позволяют хранить большое количество различных данных.
Нумерованные массивы
Обычные нумерованные массивы, ( ключ - является числом).
Первый способ объявления массива
- с помощью ключевого слова array:
<?php>
$arr = array( 'Ivanov' , 'Petrov' , 'Sidorov' );
;
?>
выведет:
array (size=3)
0 => string 'Ivanov' (length=6)
1 => string 'Petrov' (length=6)
2 => string 'Sidorov' (length=7)
- где string - строка, length=6 - длина (количество символов), 0,1,2 - ключи или индексы массива.
Вывод массива на экран
Для вывода массива на экран используют либо функцию var_dump(), либо функцию print_r(), либо с помощью тегов "<pre>" - которые используют форматированный вывод:
<?php>
echo "<pre>";
print_r($arr);
echo "</pre>";
?>
выведет:
Array
(
[0] => Ivanov
[1] => Petrov
[2] => Sidorov
)
Обращение к элементу массива
- либо через квадратные скобки, либо через фигурные.
Чаще всего используются квадратные скобки.
Пример:
<?php
echo $arr[0]; // выведет: Ivanov
echo $arr[1]; // выведет: Petrov
echo $arr{2}; // выведет: Sidorov
?>
Второй способ объявления массива
- с использованием короткой записи (с помощью квадратных скобок ).
Многомерный массив
В массив мы можем положить любой тип данных, в том числе, и сам массив - тогда получится - многомерный массив.
Пример многомерного массива:
<?php
$arr2 = [1, 2, [ 'banane' , 'orange' , 'apple'], 4, 'cat', 6, 7, 8, 9, 10,];
echo "<pre>";
($arr2);
echo "</pre>";
// обращение к элементу вложенного массива (orange)
echo $arr2[2][1];
echo '<br>';
// обращение к элементу вложенного массива (apple)
echo $arr2[2][2];
echo '<br>';
// обращение к элементу вложенного массива (banane)
echo $arr2[2][0];
?>
выведет:
Array
(
[0] => 1
[1] => 2
[2] => Array
(
[0] => banane
[1] => orange
[2] => apple
)
[3] => 4
[4] => cat
[5] => 6
[6] => 7
[7] => 8
[8] => 9
[9] => 10
)
orange --- обращение к элементу вложенного массива (orange)
apple --- обращение к элементу вложенного массива (apple)
banane --- обращение к элементу вложенного массива (banane)
Нумерация массива
По умолчанию PHP нумерует массив с нуля, то есть, первый элемент - [0], второй - [1] и т.д. Для изменения нумерации массива мы используем внутри массива дополнительный элемент - ключ . Здесь мы сами присваиваем ключи значениям массива(массив $arr3). Если, например, присвоим ключ первому элементу массива (2 => 'Ivanov') и далее нумерация не прерывается, то PHP начнет нумерацию с этого номера (массив $arr4).
Пример:
<?php
$arr3 = [2 => 'Ivanov' , 3 => 'Petrov' , 4 => 'Sidorov' ];
echo "<pre>";
($arr3);
echo "</pre>";
$arr4 = [2 => 'Ivanov' , // наглядная запись массива
'Petrov' ,
'Sidorov'
];
echo "<pre>";
($arr4);
echo "</pre>";
echo $arr3[4]; // обращение к четвертому элементу массива $arr3
?>
В обоих случаях выведет выведет:
Array
(
[2] => Ivanov
[3] => Petrov
[4] => Sidorov
)
Sidorov --- обращение к четвертому элементу массива $arr3
Ассоциативные массивы
- это массивы со строковым индексом ( ключ - является строкой).
Эти массивы, например, используют для хранения информации о товарах в интернет-магазинах.
Пример ассоциативного массива:
<?php
// МАССИВ С ТОВАРАМИ $goods
$goods = [
// первый товар (массив)
[
'title' => 'Nokia', // название товара
'price' => 100, // цена
'description' => 'Description' // описание
],
// второй товар
[
'title' => 'iPad',
'price' => 200,
'description' => 'Description'
]
];
echo "<pre>";
($goods);
echo "</pre>";
// название первого товара и его цена
echo $goods[0]['title'] . '-' . $goods[0]['price'];
echo '<br>';
// название второго товара и его цена
echo $goods[1]['title'] . '-' . $goods[1]['price'];
echo '<br>';
?>
результат выполнения:
Array
(
[0] => Array
(
[title] => Nokia
[price] => 100
[description] => Description
)
[1] => Array
(
[title] => iPad
[price] => 200
[description] => Description
)
)
Nokia-100 --- название первого товара и его цена
iPad-200 ---- название второго товара и его цена
Пример:
с помощью цикла while пройтись по массиву $goods и вывести все его элементы.
<?php
$goods = [
// первый товар (массив)
[
'title' => 'Nokia', // название товара
'price' => 100, // цена
'description' => 'Description' // описание
],
// второй товар
[
'title' => 'iPad',
'price' => 200,
'description' => 'Description'
]
];
$i = 0;
while ( $i <= 1){
echo 'title' . '-' . $goods[ $i ] [ 'title' ];
echo '<br>' ;
echo 'price' . '-' . $goods[ $i ] [ 'price' ];
echo '<br>' ;
echo 'description' . '-' . $goods [ $i ] [ 'description' ];
echo '<br>';
echo '<br>';
$i++;
}
?>
результат выполнения:
title-Nokia
price-100
description-Description
title-iPad
price-200
description-Description
Пример.
Добавление нового элемента в конец данного массива и с заданным ключем :
<?php>
$arr = array( 'Ivanov' , 'Petrov' , 'Sidorov');
// добавляем новый элемент в конец массива
$arr[] = 'Pupkin' ;
// Добавление нового элемента в конец массива с заданным ключем
$arr[15] = 'Vaskin' ;
echo '<pre>';
($arr);
echo '</pre>';
?>
выведет:
Array
(
[0] => Ivanov
[1] => Petrov
[2] => Sidorov
[3] => Pupkin
[15] => Vaskin
)
Пример.
Если поставить ключ, который уже есть в массиве, то он будет перезаписан:
<?php>
$arr = array( 'Ivanov' , 'Petrov' , 'Sidorov' );
// первый элемент массива 'Petrov' будет перезаписан на 'Pupkin'
$arr[1] = 'Pupkin' ;
echo '<pre>';
($arr);
echo '</pre>';
?>
выведет:
Array
(
[0] => Ivanov
[1] => Pupkin
[2] => Sidorov
)
Наверх Наверх