От автора: извините, но мне сегодня некогда рассказывать всякие шутки-прибаутки! Сейчас быстренько осваиваем тему «Создание массива PHP», и я так же «сквознячком» улепетываю. Куда спешу? Надо разгрести домашний массив, элементы которого сегодня утром вывалились мне на голову. После чего мои слова (повторять не буду) разбудили тещу, которая испугала собаку, которая хотела на улицу…. В общем, в PHP все намного проще!
Проще домашних нагромождений!
Создать в нашем любимом языке программирования обычный (и даже «необычный») массив роще простого. Сделать это можно несколькими способами:
Использовать конструкцию array ()– сразу отмечу, что это именно конструкция, а не встроенная функция. В скобках после ее названия нужно перечислить значения массивов. Прошу прощения, но так как я еще нахожусь под впечатлением от домашних событий, то на ум приходят только те вещи, которые упали мне на голову:
1 2 3 4 5 |
<?php $hlam=array("ботинки тяжелые","дрянь ненужная», перегоревший электрочайник", "ремень с бляхой","какая-то тяжелая штуковина"); print_r($hlam); ?> |
Если внимательно присмотреться к результату работы конструкции array(), то заметите, что она автоматически задает каждому из элементов целочисленный индекс. В PHP в качестве ключа можно использовать не только числа, а и значения других типов данных. Например, string.
И даже в этом случае упомянутая выше конструкция пригодится. В скобках можно сразу указывать значения не только элементов массива, но и его ключей. Например:
1 2 3 4 5 6 7 8 9 10 |
<?php $hlam=array( "сначала упали"=>"ботинки тяжелые", "затем"=>"дрянь ненужная", "после этого"=>"перегоревший электрочайник", "больно по голове"=>"ремень с бляхой", "вдогонку"=>"какая-то тяжелая штуковина", ); print_r($hlam); ?> |
Новый синтаксис – начиная с версии 5.4, в PHP можно обходиться и без конструкции array(). То есть:
1 2 3 4 5 6 7 8 9 |
<?php $hlam=[ "сначала упали"=>"ботинки тяжелые", "затем"=>"дрянь ненужная", "после этого"=>"перегоревший электрочайник", "больно по голове"=>"ремень с бляхой", "вдогонку"=>"какая-то тяжелая штуковина", ]; ?> |
Даст такой же результат.
Многомерность и циклы
Теперь рассмотрим PHP многомерный массив и его создание. Напомню, что в многомерном каждый элемент сам является массивом. Например:
1 2 3 4 5 6 7 8 9 10 |
<?php $hlam=array( "сначала упали"=>array("ботинки тяжелые","45 размера","мужские"), "затем"=>array("дрянь ненужная","деревянная","с ручкой"), "после этого"=>array("перегоревший электрочайник","советский","1959 года выпуска"), "больно по голове"=>array("ремень с бляхой","армейский","отцовский"), "вдогонку"=>array("какая-то тяжелая штуковина","положила теща","в прошлом году"), ); print_r($hlam); ?> |
Созданный мною массив является не только многомерным, но еще и ассоциативным. Так как каждая упавшая вещь с чем-то для меня ассоциируется :). Вы, наверное, заметили, что используемая функция print_r() не совсем удобна для вывода массива. Но можно обойтись и без нее:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php $hlam=array( "сначала упали"=>"ботинки тяжелые", "затем"=>"дрянь ненужная", "после этого"=>"перегоревший электрочайник", "больно по голове"=>"ремень с бляхой", "вдогонку"=>"какая-то тяжелая штуковина", ); foreach($hlam as $hrenovina) { echo "$hrenovina <br />"; } ?> |
Кроме этого возможно в PHP создание массива в цикле for. В следующем примере значение элементов инициализируются случайными числами, сгенерированными функцией rand():
1 2 3 4 5 6 7 |
<?php for($n=0; $n < 10; $n++) { $hlam[$n] = rand(); echo $hlam[$n]."<br />"; } print_r($hlam); ?> |
Вам на сегодня хватит, а я пока не буду никуда спешить и начну писать новый материал. Пусть мои домашние сами разгребают тот массив, который сегодня чуть не прибил их любимого мужа, папу и зятя :).