Смекни!
smekni.com

Вводный курс в PHP (стр. 2 из 2)

РНР предоставляет также возможность альтернативного синтаксиса условного оператора – без фигурных скобок, а с применением оператора endif. В следующем примере первая таблица помещается на страницу, если только $_GET ['HDD'] равно "Maxtor", а вторая - если "Seagate". Наличие оператора endif в этом случае обязательно, так как фигурная скобка, обозначающая конец блока if, отсутствует:

<?

if($_GET ['HDD'] == "Maxtor"):

? >

<table>

<caption> Maxtor </caption>

</table>

<?

elseif($_GET ['HDD'] == "Seagate"):

? >

<table><caption> Seagate </caption></table>

<?

endif;

? >

Результат выполнения скрипта:

рис.2 Форма запроса

Рис.3 Результат выполнения скрипта

Значение переменной $_GET ['HDD'] передается формой test. html скрипту test. php. Код формы test. html:

<form action = "http: // localhost/PHP/test. php; " method=get>

HDD: <input type="text" name="HDD"/><br> <input type="submit"/>

</form>

РНР также, как и С++, Java предоставляет возможность заменять блоки if…else условной операцией (в отличие от унарных и бинарных операций условная операция используется с тремя операндами). В изображении условной операции присутствуют два размещенных не подряд символа ‘? ’ и ‘: ’ и три операнда выражения: выражение_1? выражение_2: выражение_3

Первым вычисляется значение выражения_1. Если оно истинно (т.е. не равно нулю), то вычисляется значение выражения_2, которое и становится результатом. Если при вычислении значения выражения_1 получится ноль (ложь), то в качестве результата берется выражение_3. Классическим примером условной операции является выражение x < 0? –x: x;

Это выражение возвращает абсолютное значение переменой x.Т. е., к примеру, код

<?

if($_GET ['HDD'] == "Maxtor") {

$_GET ['CDROM'] = "Teac";

}

else{ $_GET ['CDROM'] = "Nec";

}

? >

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

<? $_GET ['CDROM'] = ($HDD == "Maxtor") ? "Teac": "Nec";? >