Отправляет email-рассылки с помощью сервиса Sendsay

Построй свой сайт на PHP!

  Все выпуски  

Построй свой сайт на PHP!


Информационный Канал Subscribe.Ru

Построй свой сайт на PHP!

искать в
Здравствуйте, уважаемые читатели!

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

Сегодняшний выпуск, как и обещалось, наконец-таки посвящен синтаксису PHP. Просто и кратко. Давайте начнем?

С уважением, The Wanderer

Как я уже писал, в PHP нет строгой типизации данных. Вам даже не нужно отдельно объявлять переменные, как в С/Java - вы просто будете иницализировать их значениями в процессе написания своего кода, где угодно и когда угодно. Кроме того, вы будете очень редко задумываться над тем, какого типа у вас переменная. Так или иначе, в PHP существует 8 примитивных типа.
Четыре скалярных типа:

  • Булевый (boolean)
  • Целый (integer)
  • float (число с плавающей точкой, так же известен как 'double')
  • Строка (string)
Два сложных типа:
  • Массив (array)
  • Объект (object)
И, наконец, два специальных типа:
  • Ресурс (resource)
  • NULL
Каждая переменная в PHP начинается с символа '$'. Итак, давайте объявим переменные всех из вышеперечисленных скалярных типов и немного с ними поиграемся (пример из руководства по PHP):
<?php
$bool
= TRUE;   // булевая переменная
$str  = "foo";  // строка
$int  = 12;     // целый

echo gettype($bool); // выводит "boolean"
echo gettype($str);  // выводит "string"

// если это целое число, увеличивает его на четыре
if (is_int($int)) {
    
$int += 4;
}

// Если $bool - строка, печатает ее
// (ничего не печатает)
if (is_string($bool)) {
    echo
"String: $bool";
}
?>
Пример очень простой. Первое и самое важное для нас это то, что строка кода заканчивается точкой с запятой - ";". Второе - это то, что тело таких конструкций как if заключается в фигурные скобки ({}). Если код, выполняемый по условию, сосотоит из одной строки, то его можно не заключать в фигурные скобки. Комменарии же в данном случае отделяются "//", хотя могут отделятся и "#". Многострочные комментарии выглядят так:
/*
строка 1
строка 2
строка 3
строка 4
строка 5
*/
Однако, цель примера другая - показать отсутствие строгой типизации. Тем не менее, вам, возможно, захочется иногда строго задать тип той или иной переменной. Для этого служит функция settype(), принимающая два аргумента. Первый - переменная, второй - строка с именем типа. Функция возвращает true или false в зависимости от того, удалось ли ей успешно отработать.

Теперь давайте двигаться дальше. Напишем функцию, которая будет принимать два числа, сравнивать их, выводить результат сравнения, после чего возвращать true.
<?PHP

function compare($first_number, $second_number)
{
     if(
$first_number>$second_number){
                echo
"Первое число ($first_number) больше второго ($second_number)";
     } elseif(
$first_number == $second_number){
                echo
"Числа равны ($first_number и $second_number)";
     } else {
        echo
"Второе число ($second_number) больше первого ($first_number)";
     }

     return
true;
}

compare(2,3);
echo
'<BR />';
compare(2,2);
echo
'<BR />';
compare(9,8);
?>
Думаю, все предельно понятно. Функция определяется с помощью ключевого слова "function", после него идет имя функции, затем список аргументов в круглых скобках. Функция не обязана ничего возвращать, но как правило, имеет смысл возвращать true или false, чтобы остальной код мог знать успешно ли была завершена работа функции.
Конструкция if() ... else (или elseif) аналогична таковой в Си. В скобках после if записывается условие. "<BR />" мы выводим для того, чтобы в браузере отображался переход на новую строку. Все. Просто, не так ли?
Давайте теперь доработаем наш код и сделаем так, чтобы он сравнивал два случайным образом сгенерированных числа и повторим этот код в течение пяти раз. Для этого тело функции мы оставляем то же, а вот код ее вызова немного изменим:
for($i=0;$i<5;++$i)
{
        
compare(mt_rand(0,100),mt_rand(0,100));
        echo
"<BR />";
}
Функция mt_rand() - это улучшенная функция rand(), которая так же генерирует случайные числа в заданном диапозоне. Случайные, конечно, условно. Просто rand() чаще выдает повторяющиеся числа и немного медленне mt_rand(). Но вся эта чихарда была затеяна из-за конструкции for(), которая очень похожа на if(). Первый аргумента в скобках - инициализация переменной-счетчика, второй - условие, цикл прекращается после того, как условие будет ложно, и третий аргумент - операция, которая выполняется при каждом проходе цикла. В данном случае это увеличение числа $i на еденицу с помощью оператора ++ (его можно записать и после переменной). Все аргументы разделяются точкой с запятой (в отличие от функций, где аргументы разделяются запятой) и могут быть опущены (точку с запятой ставить все равно придется).

Кстати, мы с вами рассмотрели несколько примеров и так и не удосужились их запустить. Я знаю, что читатели не особо спешат устанавливать что-либо по просьбе автора рассылки, но Денвер установить вам все-таки придется. В принципе, подойдет и любой другой пакет, но именно на Денвер я буду расчитывать при написании этой рассылки. Итак, давайте перейдем в ту папку, куда вы установили Денвер и зайдем в директорию /home/localhost/www/. Там создадим еще одну директорию - phpdev, зайдем в нее и создадим файл, к примеру, example.php и в него запишем наш последний пример (функцию compare() и цикл и не забудьте про открывающий и закрывающий теги), после чего стартуем наш сервер, щелкнув по сответствующему ярлыку (если он еще не запущен), запускаем браузер и набираем в нем http://localhost/phpdev/example.php. Перед вами результат работы скрипта.

И на этой радосной ноте мы заканчиваем наш выпуск. Основной сиснтаксис с вами мы расмотрели, а более подробно рассмотрим уже в процессе написания нашего с вами движка. В следующем выпуске еще немного теории, а потом начнем кодировать. Специальный выпуск пока задерживается, но обязательно будет. Удачи и до следующей недели!

 
Copyright © 2004 Построй свой сайт на PHP!
Перепечатка возможна только с сохранением авторства.
Третий выпуск: Суббота 11 сентября 2004 года

http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.phpdev
Отписаться

В избранное