PHP: объявление массива
- Массивы с числовыми индексами
- Ассоциативный массив
1 2 3 4 | $fruits[0]="яблоко"; $fruits[1]="груша"; $fruits[2]="апельсин"; $fruits[3]="абрикос"; |
Данный вариант инициализации массива сегодня практически не используется. Используется следующий вариант работы с массивами:
Данный вариант создания массива использует объект array
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $fruits = array( 1 => "яблоко", 2 => "груша", 3 => "апельсин", 4 => "абрикос" ); // Начиная с версии PHP 5.4 $fruits = array[ 1 => "яблоко", 2 => "груша", 3 => "апельсин", 4 => "абрикос" ]; |
Доступ к элементам массива
1 2 3 4 5 6 7 8 | $fruits[0]="яблоко"; $fruits[1]="груша"; $fruits[2]="апельсин"; $fruits[3]="абрикос"; echo "Первый элемент массива - ". $fruits[0] ."<br>"; echo "Второй элемент массива - ". $fruits[1] ."<br>"; echo "Третий элемент массива - ". $fruits[2] ."<br>"; |
Результатом выполнения программы будет:
Рассмотрим пример:
student
со значениями имен, фамилий и возраста студентов. Вывести на экран значения элементов массива1 2 3 4 5 6 7 8 | $student = array( 'Name' => John, 'Surname' => Smith, 'Age' => 20 ); echo "имя пользователя " . $student['Name'] . "<br>"; echo "фамилия пользователя " . $student['Surname'] . "<br>"; echo "возраст пользователя " . $student['Age'] . "<br>"; |
или
1 2 3 4 5 6 | $student['Name'] = 'John'; $student['Surname'] = 'Smith'; $student['Age'] = 20; echo "имя пользователя " . $student['Name'] . "<br>"; echo "фамилия пользователя " . $student['Surname'] . "<br>"; echo "возраст пользователя " . $student['Age'] . "<br>"; |
Результат:
Индексированные массивы без ключа:
Также следует учесть, что индексы в массиве вообще можно не писать при инициализации массива значениями. Тогда мы создаем так называемый массив-коллекцию (объект-коллекцию):
$student = array('John','Smith', 20);В таком случае интерпретатор сам присвоит им числовые индексы, начиная с
0
Обратите внимание на использование процедуры
var_dump()
1 2 3 4 5 6 7 8 9 | <?php $my_array = array( 0 => "a", "1"=> "b", 2 => "c", 2 => "d", ); var_dump($my_array); ?> |
Результат:
array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "d" }
1 2 3 4 5 6 7 8 9 10 11 12 | <?php $array_odnom = array( "first" => "1", 2 => 2, "multi" => array( "1_1" => "1_1" ) ); var_dump($array_odnom ["first"]); var_dump($array_odnom [2]); var_dump($array_odnom ["multi"]["1_1"]); ?> |
Результат:
string(1) "1" int(2) string(3) "1_1"
Выполнение:
1 2 3 4 5 6 7 8 9 10 11 12 | $array_odnom = array( 1 => array( 1 => "1_1", 2 => "1_2", 3 => "1_3"), 2 => array( 1 => "2_1", 2 => "2_2", 3 => "2_3"), ); echo $array_odnom[1][1]; |
Допустим, у Вас есть какое-то объявление и несколько разных людей, которым нужно это объявление отправить. Для этого Вы делаете заготовку с содержанием объявления, внутри которого есть ряд изменяющихся параметров: массива имен людей и массив событий. Вывести один вариант итогового объявления на экран. Для задания массивов использовать и ассоциативный массив.
Используйте шаблон объявления и ориентируйтесь по цветам:
Красным – массивы.
Коричневым – числовая переменная.
Синим – константа.
Уважаемый (ая), Иван Иванович!
Приглашаем Вас на день открытых дверей.
Дата события: 12 мая.
С уважением, Василий.
Дополните код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | // объявление константы define("SIGN","С уважением, Вася"); // массив для имен адресатов $names = array(...); // массив для событий $events = array( "op_doors" => "день открытых дверей", "vistavka" => "выставку", ... ); $str = "Уважаемый(ая), $names[0]! <br>"; $str .= ...; $str .= ...; echo ...; |