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

Сайтостроение (уроки по HTML, PHP, mySQL , WEB-дизайн)


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


Сайтостроение. Основы PHP. Уроки с сайта http://progs.biz

Рассылка №10

Основы PHP. Урок 7. Массивы.
Основы PHP. Урок 8. Операторы ветвления.
Основы PHP. Урок 9. Операторы циклов.

Полные версии уроков (с картинками) можно найти по адресам
Урок 7. Массивы.
Урок 8. Операторы ветвления.
Урок 9. Операторы циклов.

PHP. Урок 7. Массивы

Сразу приведем пример работы с одномерным массивом:

<?
$a[0]="Igor";
$a[1]="Osco";
$a[2]="Otto";
echo "$a[1]";
?>

Указанный фрагмент покажет на экране, естественно, слово Osco. Обратите внимание на то, что у нас нет объявления массива как такового - как и в случае с обычными переменными, мы создаем переменную в момент присваивания ей некоторого значения. Отличие от обычных переменных (не массивов) в том, что после имени переменной мы пишем индекс (номер) элемента в нашем массиве.

При добавлении в массив новых элементов индекс нового элемента можно в принципе не писать - новому элементу автоматически присвоится очередной номер:

<?
$a[]="Igor";
$a[]="Osco";
$a[]="Otto";
?>

В указанном фрагменте значение "Igor" запишется в $a[0], "Osco" запишется в $a[1] и "Otto" запишется в $a[2]. Как видно из приведенного примера, если мы не будем указывать значения для индекса, то для него будет браться предыдущий оспользованный индекс, увеличенный на 1. Так как у нас сначала вообще ни одного индекса не было, то первый получает значение 0, следующий - увеличивается на 1 и т. д. Вот еще поясняющий пример:

<?
$a[0]="Igor";
$a[2222]="Osco";
$a[]="Otto";
echo "$a[2223]";
?>

Здесь элемент со значением "Otto" получает номер 2223 (2222+1). Указанный форагмент выведет в браузер слово "Otto".

Для массивов в качестве индексов вместо чисел могут использоваться и строки. Часто это оказывается удобным. Такие массивы называются ассоциативными. Вот пример для дней недели:

<?
$a["mon"]=1;
$a["thu"]=2;
$a["wed"]=3;
$a["thu"]=4;
$a["fri"]=5;
$a["sat"]=6;
$a["sun"]=7;
echo $a["fri"];
?>

Приведенный фрагмент покажет в браузере 6 (т. е. значение для индекса "fri").

Для создания массивов можно применять функцию array. Вот два примера (для массива с числовым индексом м для ассоциативного массива):

<?
$b=array("Igor", "Osco", "Otto");
?>
<?
$c=array("mon"=>1, "thu"=>2, "wed"=>3);
?>

И, наконец, поговорим о многомерных массивах. Здесь все аналогично массивам одномерным. Вот так, например, мы можем задать несколько элементов двумерного массива:

$n[1][1]=12;
$n[1][2]=-4;
$n[2][1]=7;
$n[2][2]=0;

Для задания многомерных массивов мы можем воспользоваться и функцией array. Вот пример:

$k=array(array(1, -41), array(3, 10));

Здесь создается двумерный массив с элементами от $k[0][0] до $k[1][1] соответственно. Из последнего примера особенно ясно видно, что многомерные массивы интерпретируются как массивы массивов.

Наверх

PHP. Урок 8. Операторы ветвления

Основной оператор ветвления - это if. С ним все более-менее ясно - никаких принципиальных отличий от других языков нет. Вот сразу пример:

if ($k==12){
     echo "Данные равны 12<br>";
}
else{
     echo "Данные не равны 12<br>";
}

Если k равно 12, то покажеться одна надпись, а если не равно, то другая. Веточку else можно не писать, если в ней нет необходимости. Условие (проверку), как и в других C-подобных языках, надо писать в круглых скобках. Слово else, естественно, не пишем. Еще раз, кстати, обратите внимание, что для логического равно (т. е. для ответа на вопрос, равно ли что-то чему-то) используется два знака равно "==".

Если идет несколько проверок подряд, то можно использовать конструкцию с elseif:

if ($k>0){
     echo "Число положительное<br>";
}
elseif($k<0){
     echo "Число отрицательное<br>";
}
else{
     echo "Число равно нулю<br>";
}

Если количество возможных ветвлений велико (программа должна идти или сюда, или сюда, или туда...) и возможные значения для проверяемого выражения представляют из себя конкретные значения (а не условия типа меньше или больше), то лучше использовать switch. Вот пример:

switch($note){
case 1:
case 2:
     echo "Двоечник<br>";
     break;
case 3:
     echo "Троечник<br>";
     break;
case 4:
     echo "Четверочник<br>";
     break;
case 5:
     echo "Отличник<br>";
     break;
default:
     echo "Ошибка!<br>";
}

Обратите внимание, что в конце группы операторов, как правило, надо ставить break, иначе операторы, написанные в последующем case, тоже будут выполняться (у нас это видно для значений 1 и 2 - в обоих этих случаях в браузер выведется "Двоечник"). Если ни одна из проверок не увенчается успехом, то выполнится часть break.

Наверх

PHP. Урок 9. Операторы циклов

Из циклов самый известный - это for. Он выполняется определеное число раз (как правило, известное заранее). Вот пример:

<?
$fact=1;
for($i=1; $i<=10; $i++){
     $fact=$fact*$i;
}
echo "$fact<br>";
?>

Данный пример считает произведение чисел от 1 до 10 (т. н. факториал) и выводит результат в браузер.

По задаче часто нужны циклы, про которые заранее не известно, сколько раз они дожны выполнится. В этом случае используем циклы while. У них две разновидности - do-while и while. Сначала рассмотрим цикл do-while. Вот пример его использования для той же задачи нахождения факториала числа:

$j=1;
$fact=1;
do{
     $fact=$fact*$j;
     $j++;
}while($j<=5);
echo "$fact<br>";

А вот и пример испольования оператора while:

$b=array(6, -5, 22);
$i=0;
while($b[$i]>=0){
      $i++;
}
echo "$i-й элемент (равный $b[$i]) - отрицательный
";

В этом примере мы ищем первое отрицетельное число в массиве и выводим само число и его номер (начиная нумерацию с нуля).

Наверх

Copyright Алексеев Игорь, 2002

Copyright сайт progs.biz, 2002


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное