ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Многомерные массивы. Наверняка начинающие программисты задаются вопросом: “Что такое массив?Введение Наверняка начинающие программисты задаются вопросом: “ Что такое массив? и как с ним работать?”. Действительно, поначалу присутствует полная неразбериха и непонимание. В этом уроке я попытаюсь навести порядок в вашей голове, и приведу несколько примеров по работе с массивами в php. В предыдущих уроках мы частично рассматривали работу с массивами, но сейчас я предлагаю резюмировать информацию, и сделать так чтобы она хорошо усвоилась вами. Массивы На самом деле массив в PHP - это упорядоченное отображение, которое устанавливает соответствие между значением и ключем. Т.е. это определенный набор значений, у которого имеется свой идентификатор (key) и присвоенное ему значение (value). Вспомните как вы заполняете анкету? Там присутствуют обязательные поля фамилия,имя, отчество, год рождения и т.д. В примере все становиться ясно, здесь слово фамилия является ключом, в котором содержится ваша фамилия, например Петров. Пример: Анкета
А теперь пример, как можно создать массив в php используя такие же данные. Создать можно двумя способами: 1. С указанием ключа:
Теперь при помощи манипуляций с ключами можно получить все данные из массива, если нам необходима только фамилия мы вызываем массив с указанием идентификатора:
Или для того чтобы пробежаться по массиву и вывести все его значения используем функцию foreach();
2. Без указания ключа:
В данном случае по умолчанию ключами являются числовые значения. Чтобы вызвать имя необходимо выполнить следующее:
У первого значения ключ в данном случае будет равен 0, т.е. echo $anketa[0]; выдаст фамилию. Я думаю этих простых примеров достаточно, давайте обратимся к документации. Синтаксис Массив может быть создан языковой конструкцией array(). В качестве параметров она принимает определенное количество разделенных запятыми пар key => value (ключ => значение). Все что мы с вами разобрали является примерами одномерного массива. Далее рассмотрим примеры многомерных массивов. Многомерные массивы Со временем ваши программы станут более сложными, и возможностей простых одномерных массивов окажется недостаточно для хранения необходимой информации. Многомерный массив (массив массивов) предоставляет в распоряжение программиста более эффективные средства для хранения информации, требующей дополнительного структурирования. Создать многомерный массив несложно — просто добавьте дополнительную пару квадратных скобок, чтобы вывести массив в новое измерение.
Это и будет наш многомерный массив, т.е. массив внутри массива, его состав можно посмотреть командой print_r(массив):
Вот так вот вроде и всё, но создав или получив массив, нам необходимо с ним работать, т.е. сортировка, перемешивание, пересчет элементов массива и т.д. Все это необходимо знать, т.к. использование таких функций встречается довольно часто. Мы рассмотрим самые необходимые. Практика Практика показывает что Вам предстоит довольно часто сталкиваться с массивами: при работе с информацией полученной из файлов или из БД, данные переданные через суперглобальные массивы $_POST и $_GET и других случаях. Помимо функции создания массива array(), существует множество вспомогательных функций для работы с массивами, с ними вы можете ознакомиться самостоятельно в документации. В предыдущих уроках мы уже сталкивались с массивами, это была гостевая книга, которая читала строки файла в массив, после чего строка разбивалась на части и выводилась в браузер. В случае с записью наоборот, переданные данные объединялись в строку и записывались в файл. Все это достаточно просто, но я предлагаю дополнить гостевую книгу модулем администрирования. В случае с базой это было бы очень легко организовать, но здесь придется немного поработать головой и использовать различные функции. Теперь наша гостевая книга (не забывайте что данный скрипт является основой, и его можно применять где угодно) будет содержать дополнительный модуль. Он будет выводить все сообщения, и напротив каждого будет стоять ссылки, которые будут отвечать за определенные действия (удаление и редактирование). Детали Для того чтобы не вставлять лишний код на страницу советую вам обращаться к предыдущему уроку index.php Файл остается без изменений. add.php Оставляем без изменений read.php Оставляем без изменений moder.php Данный файл будет отвечать за редактирование записей. Он состоит из 3-х частей начнем с первой. Вывод записей Отображение записей будет происходить так же как и в read.php, но немного будет модернизирован, каждой записи будет присвоен номер, под которым он находиться в массиве. //////////////////////// //Читаем файл в массив //Запускаем цикл, чтобы определить номер записи //Разбиваем строку на переменные //Выводим их в браузер //Ссылка на удаление [D], в ней передается 2 переменные методом GET //Ссылка на редактирование [E], //в ней передается 2 переменные методом GET }
Обратите внимание что этот фрагмент работает после проверки условий, которые мы рассмотрим ниже. Здесь напротив каждой записи стоят две ссылки [D] и [E], т.е. delete или edit. Ссылка передает 2 переменные, наличие которых мы будет проверять выше. Удаление записей Для того чтобы удалить запись, мы должны знать её порядковый номер в массиве, для этого мы создали ссылку в режиме просмотра сообщений. После перехода по этой ссылке, значения извлекаем из массива $_GET, где $_GET['del'] будет содержать единицу, а $_GET['num'] - переменную $i. Давайте рассмотрим следующий фрагмент:
Достаточно все просто, просто стираем значение в массиве, под необходимым номером. Редактирование Для того чтобы изменить запись, мы также должны знать её порядковый номер в массиве, для этого мы создали ссылку в режиме просмотра сообщений. После перехода по этой ссылке, значения извлекаем из массива $_GET, где $_GET['edit'] будет содержать единицу, а $_GET['num'] - переменную $i. Редактирование происходит в 2 этапа. Сначала мы выводим выбранную запись, значения которой оказываются в полях ввода input и textarea, после внесенных изменений нажимаем на кнопку, которая передает данные скрипту, выполняющего перезапись в файле.
Соединяя все фрагменты кода, получаем следующее: <?php $url="gb.txt"; //////////////////// //Записываем массив обратно } ///////////////////// //Читаем файл в массив $name = $_POST['name']; //Формируем строку и пишем её на старое место в массиве //Открываем файл и урезаем его до нулевой длины //Выводим сообщение } //Преобразуем строку в переменные //Выводим форму echo '<input type="submit" name="change" value="изменить"><br/>'; echo '</form>'; } //////////////////////// //Читаем файл в массив //Запускаем цикл, чтобы определить номер записи //Разбиваем строку на переменные //Выводим их в браузер //Ссылка на удаление [D], в ней передается 2 переменные методом GET //Ссылка на редактирование [E], в ней передается 2 переменные методом GET } }
Не нашли, что искали? Воспользуйтесь поиском:
|