Posts Tagged ‘цикл’

Использование рекурсии в PHP

Вторник, Апрель 17th, 2012 Нет комментариев

Under : , , , ,

Рекурсия — это обращение функции к самой себе.

Многие не понимают, как же использовать рекурсию на практике — мол, «что за бред, функция обращается сама к себе… Этого не должно быть!». Действительно, кажется странновато и неудобно. Ну что же, разберем реальный случай.

Допустим, нам необходимо выстроить дерево записей из базы данных, каждый из которых имеет следующие параметры:

| uid | имя записи | uid родительской записи | (далее…)

Массивы в примерах

Воскресенье, Апрель 8th, 2012 Нет комментариев

Under : , , , , ,

Определение массива

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

<?php
$arr
= array('PHP', 'MySQL', 'Apache');
?>

или

<?php
$arr
[] = "PHP";
$arr[] = "MySQL";
$arr[] = "Apache";
?>

В C-подобных языках программирования, индекс массива традиционно начинается с 0. Это означает, что если мы захотим вывести первое значение массива «PHP», нам потребуется обратиться к нулевому индексу: (далее…)

Циклы

Воскресенье, Апрель 8th, 2012 Нет комментариев

Under : , , , ,

Одна из областей где возникает необходимость задействовать такую
конструкцию как цикл — работа с массивами, например: сортировка, поиск
нибольшего, наименьшего, среднего значения или банальный форматированный
вывод, да мало ли что еще. Давайте рассмотрим что предусмотрено для этих
целей в PHP. Итак, первый пример — использование конструкции for для работы
с массивом. (далее…)

Синтаксис

Perl программа (скрипт) состоит из последовательности деклараций и предложений. Единственно что должно быть обязательно декларировано, это форматы отчетов и подпрограммы (функции). Все необъявленные переменные, массивы имеют значение 0 или null.

Декларации (объявления).

Perl имеет свободный формат. Комментарии начинаются с символа ‘#’ и продолжаются до конца строки. Декларации могут использоваться в любом месте программы так же как и предложения (statements), но действуют они только в фазе компиляции программы. Обычно их помещают или в начале или в конце программы. Декларация подпрограмм позволяет использовать имя подпрограммы как списковый оператор, начиная с момента декларирования.
Пример:

sub test; # Декларация подпрограммы test
$var1 = test $0; # Использование как оператора списка.
Декларации подпрограмм могут быть загружены из отдельного файла предложением require или загружены и импортированы в текущую область имен предложением use. Подробно см. главу Модули.
(далее…)

Ошибки и исключительные ситуации

Мы завершаем путь. Всё это время мы стремились не допускать ошибок в выражениях, операторах, объявлениях, определениях, макроопределениях, программах. Но до сих пор у нас нет чёткого представления о том, что такое ошибка.

В общем случае под ошибкой мы будем понимать несоответствие правилу, алгоритму. Это рабочее определение. Конечно, правила бывают нечёткими, алгоритмы — некорректными. Это неважно. В любом случае можно сказать, что «всё не так, как должно быть». И этого достаточно.

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

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