Самоучитель PHP5

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Списки в PHP

E-mail Печать
Рейтинг пользователей: / 1
ХудшийЛучший 

Списки в PHP


Массивы, индексами которых являются числа, начинающиеся с нуля без пропусков, будем называть списками. С технической точки зрения разницы между массивами и списками нет.

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

Вот пример автоматического создания массива:

$People[]="Коля";
$People[]="Витя";
$People[]="Дима";

При этом PHP начнет нумерацию с наименьшего незанятого значения индекса. В частности, если переменная $People только сейчас инициализируется, то нумерация будет начата с нуля. В дальнейшем, с каждым новым элементом массива индекс будет увеличиваться на единицу.

Как видите все просто и удобно — не нужно указывать индексы. Однако, это как раз тот случай, когда мы не знаем точного числа элементов в массиве.

Соответственно, при работе с такими массивами целесообразно использовать функцию count(), которая определяет количество элементов в массиве.

Рассмотрим небольшой пример — чтение текстового файла в массив. Функция fopen() используется для открытия файла, функция feof() истинна, если достигнут конец файла, а функция fgets() читает строку из файла.

При работе с файлами мы не знаем, сколько строк будет содержать конкретный файл. Программируя на C или Pascal, нам нужно было бы создать динамический список, что вызывает проблемы у начинающих программистов, не знакомых с принципами работы с динамической памятью. В PHP все просто — вы можете добавить сколько угодно элементов в массив, не указывая их номера. Новые элементы массива будут добавлены в конец массива.

// Открываем файл
$f = fopen("file.txt","rt") or die ("Ошибка");
// Читаем построчно
while(!feof($f))
{
// Заносим новый элемент (строку, прочитанную из файла) в конец массива
$File[ ] = fgets($f,50);
}
// Закрываем файл
fclose($f);
 

 

Добавить комментарий


Защитный код
Обновить


Опрос

Как Вы нас нашли?

Online

Сейчас 92 гостей онлайн