Виртуальный Брест
Главная Портал Форум Рассылки Контакт Для клиентов Статьи

Горные лыжи из Бреста
Горные лыжи из Бреста
 
Поддержи инвалидов по зрению
Поддержи инвалидов по зрению
 
Реклама на светодиодных экранах
Реклама на светодиодных экранах
 

Виртуальный хостинг - дом для вашего сайта - лучшее предложение в Бресте!


Полный список глав книги

Возвращаясь к массивам


Мы подошли (можно даже сказать – уже зашли) в своем изучении к достаточно сложному для новичка понятию, а поэтому попробуем подойти к проблеме с разных сторон для общей пользы. Как утверждали мои школьные учителя – повторение мать учения. Может, это и правда. Так вот.

Массивы представляют собой рад чисел или знаков, и имеют, как и все переменные, имя и значение. Но кроме этого они обладают еще одной полезной штукой - индексом. Попробую объяснить на пальцах. Допустим, Вы стоите перед одноэтажным домом, и у него есть одна дверь справа и десять окон. Дверь - это определение (имя) массива, а окна - это ячейки, которые в массиве доступны, как и любая переменная в РНР. Все массивы начинаются, как правило, с нуля, но это не принципиально, как нам удобно, так можем и начинать, хоть с 3423. Но правильней начать отсчет, конечно, с zero. Итак, первое окно от двери имеет имя $дверь[окно номер 0], вторая - $дверь[окно номер 1], третья - $дверь[окно номер 2] и т.д. до $дверь[окно номер 9]. Обратите внимание - элементов массива оказалось 10, а индекс получился только 9.

Тут тоже скрыта потенциальная опасность запутаться. Но если все четко себе представлять, такого не произойдет. Возвращаясь на землю к РНР определимся так - $имя массива [индекс]. Имя может быть любым, как и всякое имя переменной, индекс может быть либо непосредственно числом, переменной или его может вообще не быть. В этом случае (что вообще не желательно) будет выбрана или записана ячейка массива, следующая за той, к которой было последнее обращение в массиве.

Вот как можно ввести данные в массив.

<?php
a[] = 1;
a[] = 67456;
a[] = "пример";
?>

В этом случае будет создан массив с именем «А» и в его ячейки 0,1 и 2 введены значения «1», «67456» и «пример» соответственно. Теперь достаточно дать команду «echo $a[3];» и на экран будет выведено слово "пример".

Тут сокрыта одна опасность. Если массив с таким именем уже был определен раньше, и в него были введены данные, то данная конструкция продолжит ввод с того индекса (точнее, именно с внутреннего указателя, а он может быть установлен и не на самый конец массива, хотя, как правило, это именно так), на котором ввод данных был прерван. Избежать этого можно, если явно указать индекс ячейки - не $a[], а $a[0], $a[1], $a[2] и т.д. Или - не путаться с именами массивов.

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

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

РНР позволяет считать в любой массив целый файл! Это открывает большие перспективы и дает интересные возможности. Без такой функции не обходится ни один серьезный скрипт. Вот ее формат:

<php
$a = file( "имя файла" );
?>

После выполнения этой команды РНР в массиве $a будет находиться содержимое файла, имя или путь которого были указаны. Разделителем для разных элементов массива будет являться перевод строки. Кстати, путь типа "http://....." не поддерживается, как правило. Он может быть только относительным. Это связано с безопасностью. Если на сервере (точнее, в настройках PHP) включен режим SafeMode, такие пути просто исключаются из запросов, и Вы получите на экран сообщение об ошибке доступа. Хотя можете попробовать, вдруг у Вас работает? А уж дальше, что мы будем делать с полученной информацией - дело наше. Самое простое - поискать чего-нибудь в этом файле. Немного сложнее - найти и заменить. Но все это уже дело техники.

Читать еще...



Алекс Маккоу

Веб-приложения на JavaScript
Поддержка HTML5 и CSS3 с каждым днем становится все качественнее и полнее, но вам необходимо решить, основываясь на вашей клиентской аудитории, где именно можно использовать...

Дж. Албахари

LINQ. Карманный справочник
Справочник посвящен технологии LINQ (Language Integrated Query) - новой функциональной возможности языка C# 3.0 и платформы Framework, которая позволяет писать...

Марк Пилгрим

Погружение в HTML5
Подробное руководство по всем новшествам стандарта HTML5. Показано, как использовать в Web-разработках новые функциональные возможности, открывающиеся при применении HTML5....

Дэвид Мэтью

HTML5. Разработка веб-приложений
Язык HTML5 - новый веб-стандарт, который будет применяться при разработке веб-приложений в ближайшие 10 лет. Эта книга предоставляет читателю возможность проникнуть внутрь...

    Информация

Главная - переход на начало
Тарифы на Российский хостинг
Правила - что можно а что нет
Заказ - сделайте это сейчас
Выбор домена - найди свое имя
Регистрация домена - купить
Оплата - варианты для всех
Панель управления Россия
Панель управления Беларусь
Вопросы и ответы - информация
Разработка сайтов - сопровождение
Виртуальный Брест - портал
Контакт - обратная связь
Наш форум - пообщаемся?

Список доменов
в которых доступна бесплатная регистрация имен при покупке хостинга, а так же открытие поч- тового ящика:

Новости Бреста:

Второй порыв теплосетей в Бресте - двенадцать многоэтажных домов и один детский сад остались без тепла
Почти тонну мёда задержали налоговики при проверке в Бресте
Зарплата в конвертах в Бресте - видео
Трое жителей Кавказа в "поисках работы" забрались прямо в лес в пограничную зону
Профилактика квартирных краж - важно
Современный животноводческий комплекс на 1500 голов строится в СПК "Королевский" Кобринского района - фото
Результаты проходящей на территории Брестской области акции "Не упусти свой шанс"
Осенний месячник по наведению порядка на земле проходит на Брестчине - важно
В Лунинецком районе в водоеме нашли автомобиль с телом внутри
ГАИ: брестчанин решил стать маршрутчиком и в пьяном состоянии вез горожан

© Виртуальный Брест 2001 - 2009 Автор проекта: Андрей Кухарчик Дизайн: Partgraphic