Создание и чтение массивов php

Добавил: WorldPad, 2012-06-03 22:20:37. Просмотров: 835. Категория: Уроки PHP

Создание и чтение массивов php

Создание массива, заполнение его значениями.

Создать массив и заполнить его значениями можно по-разному. Самый обычный способ - это использование функции array.

 
array(`Первый элемент`, `Второй элемент`, ... `Последний элемент`);



Чтобы потом взять нужное значение, после имени массива в квадратный скобках указывают его порядковый номер ($days), где i - это порядковый номер. Рассмотрим небольшой пример:

$days = array(`Понедельник`, `Вторник`, `Среда`, `Четверг`, `Пятница`, `Суббота`, `Воскресенье`); // Сам массив, задающийся функцией array

$today = $days[1];
echo$today;



В качестве результата на экране должно появиться слово "Вторник", а не "Понедельник", как некоторые из Вас могли подумать. Все дело в том, что отсчет начинается с 0, а не с 1. Следовательно последний элемент должен иметь индекс на 1 меньше размера массива (кол-ва его элементов), т. е., чтобы вывести слово "Воскресенье" нужно написать в квадратный скобках 6, а не 7:

$days = array(`Понедельник`, `Вторник`, `Среда`, `Четверг`, `Пятница`, `Суббота`, `Воскресенье`);

$today = $days[6];
echo$today;



Помимо буквенных значений, массивы могут заполняться всеми видами переменных(например, еще числовыми целыми и дробными). Если Вы используете числа, то одинарные ковычки следует убрать. Однако такой способ заполнения массива встречается не часто, и Вы, наверняка, этим очень редко пользоваться, однако не следует забывать и этот способ.

Основное их примение - это работа с текстовыми файлами и базами данных, с которыми Вам вдальнейшем придется постоянно работать. Для этого используется функция file("путь к файлу"), которая построчно считывает файл целиком в массив. Вот как должно выглядеть на примере в файлом db.dat

$file = file("db.dat"); // построчно добавили в массив

$count = count($file); // посчитали кол-во эл. массива
for($i = 0; $i < $count; $i++) echo "$file[$i]<br>"; // отобразили на экране



Выведет построчно этот файл, на экране это будет выглядеть также, как если открыть этот файл с помощью любого текстового редактора.

Посчитать количество элементов.

Когда неизвестен размер массива, как было видно из предыдущего примера, довольно удобной является функция count(массив), выдающая в качестве результата число, выражающее кол-во элементов. Например,

$days = array(`Понедельник`, `Вторник`, `Среда`, `Четверг`, `Пятница`, `Суббота`, `Воскресенье`);

$count = count($days);
echo$count;



Результатом будет выведено на экран число 7.

Разбивка строки в массив по одному или группе символов.

Наверное, Вы обратили внимание на этот необычный символ "|" в самом первом примере с массивами. Именно этим символом мы и отделили "Имя", "Почтовый адрес" и "Сообщение добавителя". Теперь, нам отдельно нужен каждый из элементов данной строки. Воспользуемся функцией explode("символ, которым разделяли", "строка"). Эта функция также создает массив из разделеный кусков строки.

$file = file("db.dat");
$count = count($file);

for($i = 0; $i < $count; $i++){

$message = explode("|", $file[$i]);
echo "Добавил: <a href=mailto:$message[1]>$message[0]</a>:<br>$message[2]<br><br>";

}



В результате у нас должна появиться уже довольно сносное чтение файла, реализованное с помощью массивов, в виде части гостевой книги. Аналогично это используется при создании форумов, чатов, голосований...