Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Web-программирование и базы данных. Учебный практикум

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
967 Кб
Скачать

Упражнение 2.21. Случайное выделение ячейки из таблицы

<html>

<head> <title>заголовок</title> </head>

<body>

вывод динамически таблицы из одной колонки <br> с помощью оператора цикла for... <br>

случайное выделение ячейки с помощью функции rand <br> <br>

<?php //Задание

//попробуйте работу //измените программу, так чтобы она

//окрашивала зеленым цветом случайную ячейку //(сейчас она окрашивает первую)

//сохраните и попробуйте работу

echo “<table cellspacing=’3’bordercolor=’#000000’border=’1’>” ; //$k=rand(1,10);

for ($i = 1; $i <= 10; $i++) { echo “<tr bgcolor=’#99FF99’>”; if ($i==1) {

}

echo “<td>”;

else

{

echo “<td bgcolor=’#999999’>”;

}echo $i; echo “</td>”; echo “</tr>”;

}

echo(«</table>»)

?>

</body>

</html>

Вупражнении необходимо генерировать HTML-таблицу

свыделением случайной ячейки цветом. Для получения случайного номера строки выделяемой ячейки нужно использовать функцию rand.

61

}
else
{

Упражнение2.22.Случайноевыделениедвухячеекизтаблицы

<html>

<head> <title>заголовок</title> </head>

<body>

вывод динамически таблицы из одной колонки <br> с помощью оператора цикла for... <br>

случайное выделение ячейки с помощью функции rand <br> <br>

<?php //Задание

//попробуйте работу //измените программу, так чтобы она

//окрашивала зеленым цветом две случайные ячейки //(сейчас она окрашивает первые две ячейки) //сохраните и попробуйте работу

echo “<table cellspacing=’3’bordercolor=’#000000’border=’1’>” ; //$k=rand(1,10);

//$m=rand(1,10);

for ($i = 1; $i <= 10; $i++) { echo “<tr bgcolor=’#99FF99’>”;

if (($i==1 )||($i==2 )) { // логическое ИЛИ echo “<td bgcolor=’#999999’>”;

}

echo “<td >”;

echo $i; echo “</td>”; echo “</tr>”;

}

echo(“</table>”)

?>

</body>

</html>

Вупражнении необходимо генерировать HTML-таблицу

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

цию rand.

Упражнение знакомит с использованием логической операции || (логическое ИЛИ).

62

Упражнение 2.23. Вывод динамически таблицы из нескольких столбцов

<html>

<head> <title>заголовок</title> </head>

<body>

вывод динамически таблицы из нескольких столбцов

с помощью оператора цикла for...

<br>

<?php //Задание

//попробуйте работу //измените программу, так чтобы она выводила 3 строки и 2 столбца //сохраните и попробуйте работу

echo “<table cellspacing=’3’bordercolor=’#000000’border=’1’>” ; for ($i = 1; $i <= 6; $i++) {

echo “<tr bgcolor=’#99FF99’>”; for ($j = 1; $j <= 4; $j++) { echo “<td>”;

}

echo $i.’.’.$j; echo “</td>”;

}

echo “</tr>”;

echo(“</table>”)

?>

</body>

</html>

Это упражнение показывает, как можно генерировать HTML-таблицу из двух столбцов.

В каждую ячейку таблицы записывается соответствующий номер строки и столбца.

63

Упражнение 2.24. Вывод динамически таблицы из одной колонки с переключением цвета ячеек по строкам

<html>

<head> <title>заголовок</title> </head>

<body>

вывод динамически таблицы из одной колонки

с помощью оператора цикла for... с переключением цвета ячеек

<br>

<?php //Задание

//попробуйте работу //измените программу, так чтобы она использовала другие цвета //сохраните и попробуйте работу

$flag=true;

echo “<table cellspacing=’3’bordercolor=’#000000’border=’1’>” ; for ($i = 1; $i <= 10; $i++) {

if ($flag){

}

echo “<tr bgcolor=’#999999’>”;

{

else

}

echo “<tr bgcolor=’#99FF99’>”;

}

$flag=!$flag; echo “<td>”; echo $i; echo “</td>”; echo “</tr>”;

echo(“</table>”)

?>

</body>

</html>

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

Упражнение показывает, как работать с логическими переменными на примере работы с логической переменной $flag.

64

Упражнение 2.25. Вывод динамически таблицы из нескольких столбцов с переключением цвета столбцов

<html>

<head> <title>заголовок</title> </head>

<body>

вывод динамически таблицы из нескольких столбцов <br>

с помощью оператора цикла for... с переключением цвета ячеек <br> внутри столбца должен быть один цвет <br>

<br>

<?php //Задание

//попробуйте работу //измените программу, чтобы внутри столбца был один цвет

//для этого перед входом во внутренний цикл должно быть восстановление $flag

//сохраните и попробуйте работу $flag=true;

echo “<table cellspacing=’3’bordercolor=’#000000’border=’1’>” ; for ($i = 1; $i <= 10; $i++) {

echo “<tr>”;

for ($j = 1; $j <= 5; $j++) {

if ($flag){echo “<td bgcolor=’#999999’>”;

}

else

{

echo “<td bgcolor=’#99FF99’>”;

}

$}flag=!$flag; echo $i.‘.‘.$j; echo “</td>”;

}

echo “</tr>”;

echo(“</table>”)

?>

</body>

</html>

Это упражнение показывает, как можно генерировать HTMLтаблицу из нескольких столбцов с переключением цвета столбцов.

65

Упражнение 2.26. Описание массивов с помощью array

<html>

<head>

<title>array</title>

</head>

<body>

работа с массивом <br /> <?php

//ЗАДАНИЕ //Запишите в описании массива 5 фамилий

//однокурсников из вашей группы; //поместите вашу фамилию первой

//$fams = array(«Иванов», «Петров», «Сидоров»);

//Вывод целиком массива в отформатированном виде

//тег <PRE> используется, чтобы не пропадало внутреннее форматирование, // (пробелы, новые строки и символы табуляции)

//

echo “<pre>”; print_r($fams) ; echo «</pre>»; ?>

</body>

</html>

Это упражнение показывает, как можно описывать массивы и выводить их содержимое целиком с помощью функции print_r. Обратите внимание на необходимость вставки тега

HTML <pre>.

66

Упражнение 2.27. Использование конструкции list для разбора элементов массива по переменным

<html>

<head>

<title>array</title>

</head>

<body>

работа с массивом <br /> <?php

//ЗАДАНИЕ //Запишите в описании массива 5 фамилий

//однокурсников из вашей группы; //(поместите вашу фамилию первой)

//Выведите их с помощью echo, используя новые переменные //конструкции list

$fams = array(«Иванов», «Петров», «Сидоров», «Павлов», «Инин»); list($f, $ff, $fff, $ffff, $fffff)=$fams;

echo $f,”<br />”; echo $ff,”<br />”; echo $fff,”<br />”; echo $fffff,”<br />”; echo $fffff,”<br />”;

?>

</body>

</html>

Если необходимо обеспечить отдельный доступ к элементам массива, то можно использовать функцию list.

Вэтомупражнениимассивразбираетсяпоотдельнымпеременным, которые затем выводятся с помощью функции echo.

67

Упражнение 2.28. Работа с массивом без использования конструкции array()

<html>

<head>

<title>array</title>

</head>

<body>

работа с массивом <br />

без использования конструкции array() <br /> <?php

//ЗАДАНИЕ //Запишите в описании массива фамилии 5 фамилий

//однокурсников из вашей группы; //поместите вашу фамилию первой

//

$fams[] = «Иванов»; $fams[] = «Петров»; $fams[] = «Сидоров»;

echo «<pre>»;

print_r($fams) ; //Вывод целиком массива в отформатированном виде echo «</pre>»;

?>

</body>

</html>

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

68

Упражнение 2.29. Явное указание индексов при заполнении массива

<html>

<head>

<title>array</title>

</head>

<body>

работа с массивом <br />

явное указание индексов при заполнении массива <br /> <?php

//ЗАДАНИЕ //присвойте элементам массива 5 фамилий

//однокурсников из вашей группы; //поместите вашу фамилию первой

//

$fams[2] = «Иванов»; $fams[0] = «Петров»; $fams[1] = «Сидоров»;

echo “<pre>”; print_r($fams) ; echo «</pre>»; ?>

</body>

</html>

При первичном присвоении элементов массива или при извлечении отдельных элементов можно использовать индексы (номера) элементов. Индексация начинается с нуля. Присвоение и извлечение элементов может происходить в любом порядке.

69

Упражнение 2.30. Возможность для переменной принимать значения различного типа

<html>

<head>

<title></title>

</head>

Метаморфозы переменной <br /> <br />

Переменная может принимать значения различного типа <br /> Для определения типа переменной <br />

можно использовать функцию gettype <br /> ЗАДАНИЕ: <br />

Попробуйте работу программы <br />

Поочередно добавляйте вывод типа переменной <br /> после каждого нового присваивания, <br />

как это сделано для целого числа (integer) <br /> <br />

<body>

<?php

$z=1; //целое (integer) echo gettype($z),” <br />”;

$z=1.3; $z=”one”; $z=true; $z=false;

$z=“1“;

settype($z, „integer“);

$z=1;

settype($z, „string“); $z[0]=“0-й элемент массива“

?>

</body>

</html>

Переменные или элементы массива на протяжении работы программы могут менять тип. Например, переменная для хранения чисел может стать переменной для хранения текста. Бывает полезно определять текущий тип переменной с помощью функции gettype.

70