Приветствую Вас дорогой читатель Блога RS! Сегодня мы с Вами продолжим по немного изучать язык программирования - php. Темой сегодняшнего поста - массивы. Для чего они нужны и, что они из себя представляют вообще? Ну начну с того, что массив по сути та же переменная, а нужны они для более удобной работы с данными. Поясню. Предположим нам необходимо 100 переменных для хранения какой либо информации. Первое, что придет на ум новичку - это необходимость создать 100 разных переменных типа - $a1;$a2$a3...$a100. С какой то стороны новичок будет прав! Ведь нам и в правду придется создавать 100 переменных, вот только не отдельных а одну большую переменную, то бишь массив - $a[0];$a[1];$a[3]...$a[100]
Какой то кусочек информации о массивах я Вам уже дал, но это еще далеко не конец моего поста Давайте я поэтапно объясню Вам чем отличается переменная от массива, все внимание на картинку:
Схематично изображенный маленький домик, в котором помещается лишь один человечек. Домик, как Вы догадались, является эдаким аналогом переменной, а человечек олицетворяет данные ( число либо текст )
Теперь на этом же пример я покажу что такое массив:
Домик это переменная, но как вы видите эта переменная содержит 4 ячейки, ну то есть комнаты Каждая ячейка, то бишь комната содержит своего человечка, то есть свои данные. Теперь думаю ясно что такое массив Давайте каждому человечку дадим имя и опишем ихний домик в php коде:
<?php
$house[0] = "Оля";
$house[1] = "Маша";
$house[2] = "Витя";
$house[3] = "Саша";
?>
$house - как Вы догадались это домик, [..] - Это комната ( вообще эту циферку называют ключом ) от 0 до 3. Ну а имена это наши человечки ( То есть данные ) Ключ может быть не только цифрой, но и каким-нить словом:
<?php
$a[newyork] = "До фига жителей";
$a[moscow] = "Тоже до фига жителей!";
echo $a[newyork]."<br>";
echo $a[moscow]."<br>";
?>
Результат:
Если поразмыслить то массив это большое хранилище. Для доступа к информации Вам необходимо знать в какой ячейке ( под каким ключом ) лежит нужная Вам информация.
При изучение массивов я довольно сразу допер что они из себя представляют, но вот никак не мог понять зачем они? Да, пример со 100 переменными звучит довольно убедительно, но вот только на своей практике с таким количеством переменных я не имел дел, стало быть по большему счету массивы становятся бесполезными? Это не совсем так, перед тем как приступить к написание этого поста, я думал о том где я применял массивы. Если честно в голову не сразу пришел ответ Но на днях я переписывал модуль опроса, и наткнулся как раз на массивы.
Опрос содержит вопрос, несколько вариантов ответа и голоса. Как всю эту информацию хранят в базе данных? Для начала расскажу что из себя представляет база данных. Она изображена в виде таблицы, содержит определенное количество колонок, например этот пост который вы читаете, лежит в текстовом варианте в одной из колонок в базе данных:
Как бы выглядела таблица с вариантами ответа на вопрос в опросе без применения массивов? Вот так:
Такой вариант имеет как минимум один минус. При создание такого опроса с 10 вариантами ответов придется сделать в базу данных как минимум 10 запросов, это довольно многовато для такой операции... Уж поверьте мне, я именно поэтому и отказался от такого варианта...
Но все же, такой метод реализации опросов имеет право на существование! Я при поиске альтернативы реализации опросов, решил прибегнуть к массивам, и не разочаровался! Прибегая к встроенной функции, я разбиваю строку на массив при помощи какого-нить разделителя. Вот как выглядит опрос в базе данных у меня:
Три строчки в базе данных, три разных опроса. Обратите внимание на то, что в колонке "Варианты" и "Голоса" используется вот этот разделитель "|" Этот разделитель позволяет строку разделить на массив:
То есть после преобразования я работаю с массивом $q. После неких операция я собираю из массивов обратно строку, и ее записываю в базу данных. Для меня такой вариант сейчас единственно правильный, мне так удобнее, да и не мне одному
Я конечно зря начал сейчас этот разговор. Довольно много не понятной информации на Вашу голову... Просто очень хочется, что бы Вы не недооценивали массивы, и не повторяли мою ошибку... Так что если Вам не понятен пункт "Применение" не разочаровывайтесь, это всего лишь попытка поведать Вам, что массивы довольно удобны бывают парой. Мы с Вами обязательно будем писать опрос для нашей cms, и вот именно при реализации я Вам расскажу все намного подробнее! А пока, если Вы не поняли то, что я описал выше, просто поверьте мне на слово - массивы Вам пригодятся!
Ну что ж, сегодня мы поговорили о массивах, поняли, что они очень схожи с обычными переменными. Надеюсь я доступно Вам разъяснил чем массив отличается от обычной переменной
Следующим шагом изучения php будет разговор о функциях, так, что не "переключайтесь" и подпишитесь на ленту новостей Если есть какие вопросы, или просто есть, что сказать, то пишите комментарии Удачи Вам, на сегодня у меня все!
_______
P.S.: Быстрый ли у Вас интернет? Пройдите тест, проверка скорости интернета онлайн ответит Вам на Ваш вопрос!
>>Я конечно зря начала сейчас этот разговор.
А затем в следующем обзаце:
>>Надеюсь я доступно Вам разъяснил чем ... переменной.
Теперь даже не знаю как к вам обращаться:))
- Чем отличается массив от переменной?
- Применение