Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Web-9-PHP.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
106.5 Кб
Скачать

Управляющие операторы

Оператор условий if имеет несколько реализаций в PHP. Привычная для вас форма if:

if($city == "Odessa") { echo ("In Odessa");}

else{ echo ("In some city");}

И вторая форма , удобная в том случае, если Вам необходимо вставить HTML-код:

if($s == "guest") :

echo ("Be my guest!");

else if ($s == "admin"):

echo ("Hello to me");

endif;

И еще один пример для того, чтобы показать, как вставить HTML-код

<?

if($s == "guest") :

?>

<h1>Be my guest!");</h1>

<?

endif;

?>

Также можно использовать оператор switch, очень похожий на эквивалентный оператор в C.

$a=0;

switch($a) {

case 1: echo "a is 1"; break;

case "hello": echo "a is hello"; break;

default: echo "a is unknown"; break; }

И еще один пример, который показывает существенное отличие данного оператора в PHP от эквивалентного в С (можно использовать переменные):

$a = 7.8; $b = 7.2; $res = 7.8;

switch ($res) {

case $a: echo $res; break;

case $b: echo "wow"; break;

}

То же самое может быть получено с switch(); endswitch;. В PHP мы опять встречаем знакомый уже оператор while. Он также имеет два вида:

Привычный вам while() и while(): endwhile;

$a=0;

while($a <100) {

$a++;

echo $a;

}

либо

$a=0;

while($a <100):

$a++;

echo $a;

endwhile;

Также есть оператор do { } while(), использование которого нет нужды подробно объяснять. И последний оператор - for опять таки имеет две формы:

for($i = 0; $i < 10; $i++){ echo ($i); }

или

for($i = 10; $i > 0; $i--):

echo ($i);

endfor;

Преобразование типов данных

Существует несколько правил преобразования:

Если строка начинается с допустимого числового значения, то данная строка при выполнении над ней числовой операции будет преобразована в целое число, Если же строка не начинается с числа, то она будет преобразована в 0.

<?php

$str = "23SomeText";

$res = 5 + $str;

echo $res; //выведет 28

echo $str; //выведет 23SomeText, т.к. значение самой переменной не изменится

//при выполнении данной операции

?>

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

<?php

$str = "2.3";

$res = 5 + $str;

echo $res; //выведет 5.8

?>

Кроме того существует способ явного преобразования типов:

<?php

$a = 99.2;

$a = (int)$a; //=99

$b = (double)$a; //=99.2

$c = (string)$a; //="99.2"

?>

Функции

Чтобы определить функцию, Вам необходимо воспользоваться оператором function.

function имя_функции(параметры)

{ какой-либо код }

Кроме этого Вы можете возвращать значения из функции при помощи оператора return. Но его использование необязательно. return можно также использовать для прекращения работы функции.

function MyFunc ($param)

{ if($param == 0)

return;

echo ("The parameter is ".$param);

}

. . . .

$number = 91;

MyFunc($number);

По умолчанию в функцию аргументы передаются по значению, но их можно передавать и по ссылке, используя & перед именем параметра функции.

function Change (&$num1, &$num2)

{ $changer = $num1;

$num1 = $num2;

$num2 = $changer;

}

$number1 = 10;

$number2 = 25;

Change ($number1, $number2);

echo $number1; //выведет 25

echo $number2; //выведет 10

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

function MyFunc($first, $second = 0)

{ $result = $first + $second;

return ($result);

}

$num = MyFunc(500);

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

function FirstFunc ($param) {//возводит число во вторую степень

function SecondFunc($num){ //возводит число в третью степень

return ($num * $num * $num);

}

return ($param * $param);

}

$someNumber = 10;

echo (FirstFunc ($someNumber));

echo (SecondFunc (5));

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]