Web-программирование и базы данных. Учебный практикум
.pdf
Упражнение 2.31. Вывод элементов массива с помощью цикла
<html>
<head>
<title>array</title>
</head>
<body>
работа с массивом <br />
вывод количества элементов в цикле
<?php //ЗАДАНИЕ
//Запишите в описании массива фамилии 7 фамилий //однокурсников из вашей группы; //поместите вашу фамилию первой;
//обеспечьте вывод в цикле нужного количества элементов // (с использованием переменной $n)
//
$fams = array(«Иванов», «Петров», «Сидоров»);
$n=count($fams); //находим число элементов echo «число элементов в массиве = «, $n, «<br />»;
//Вывод элементов массива в цикле for($i = 0; $i<3; $i++)
{
echo $i.” “.$fams[$i].”<br/>”;
}
//
?>
</body>
</html>
При выводе массива можно использовать цикл, обращаясь внутри цикла к элементам с помощью индексов и функции echo. При использовании цикла for полезно использовать функцию count, чтобы получить количество элементов в массиве.
71
Упражнение 2.32. Использование ассоциативного массива
<html>
<head>
<title>array</title>
</head>
<body>
работа с ассоциативным массивом <br /> <?php
//Индексами могут быть строки. В этом случае //массив называется ассоциативным
//ЗАДАНИЕ //Запишите в описании массива информацию о себе
// должно быть пять элементов массива
//Обеспечьте вывод всех элементов с их названиями с помощью echo
//
$fams = array(“name”=>”Иванов”, “age”=>19 );
//Вывод целиком массива в отформатированном виде echo “<pre>”;
print_r($fams) ; echo “</pre>”;
//Вывод отдельных элементов echo $fams[“name”],”<br />”; cho $fams[“age”],”<br />”;
?>
</body>
</html>
Индексами могут быть строки. В этом случае массив называется ассоциативным. При использовании ассоциативных массивов алгоритм программы может становиться более ясным, а это приводит к программированию с меньшими ошибками.
72
Упражнение 2.33. Функция без аргументов на примере вывода одной строки
<html>
<head>
<title>function</title>
</head>
<body>
работа с функциями <br /> функция без аргументов <br /> <br />
функции служат для многократного использования кода <br /> сокращают текст программы, делают его более структурным и удобочитаемым <br />
<br /> <?php //ЗАДАНИЕ
//Изучите работу функции без аргументов, //которая только выводит текст в браузер //Измените строку выводимого текста
//
function soob() //заголовок функции
{
echo «все хорошо <br />»; //тело функции
}
soob(); //первый вызов функции soob(); //второй вызов функции soob(); //третий вызов функции
?>
</body>
</html>
Умелое разбиение кода программы на функции является одним из элементов структурного программирования. Функции служат для многократного использования кода. Они сокращают текст программы, делают его более структурным и удобочитаемым.
В этом упражнении показано создание и использование простейшейфункциибезаргументовдлявыводаоднойстроки.
73
Упражнение 2.34. Функция без аргументов на примере вывода нескольких строк
<html> |
|
|
<head> |
|
|
<title>function</title> |
|
|
</head> |
|
|
<body> |
|
|
работа с функциями <br /> |
|
|
функция без аргументов <br /> |
||
<br /> |
|
|
функции служат для многократного использования кода <br /> |
||
сокращают текст программы, делают его более структурным и |
||
удобочитаемым <br /> |
|
|
<br /> |
|
|
<?php |
|
|
//ЗАДАНИЕ |
|
|
//Изучите работу функции без аргументов, |
||
//которая только выводит текст в браузер |
||
//Измените выводимый текст |
||
// |
|
|
function soob() //заголовок функции |
||
{ |
|
//тело функции |
echo «все хорошо <br />»; |
||
echo «все хорошо <br />»; |
//тело функции |
|
echo «все хорошо <br />»; |
//тело функции |
|
} |
//первый вызов функции |
|
soob(); |
||
soob(); |
//второй вызов функции |
|
soob(); |
//третий вызов функции |
|
?> |
|
|
</body> |
|
|
</html>
В этом упражнении показано создание и использование простейшей функции без аргументов для вывода трех строк.
74
Упражнение 2.35. Функция с передачей аргумента
<html>
<head>
<title>function</title>
</head>
<body>
работа с функциями<br /> функция с аргументами<br /> <br />
<?php //ЗАДАНИЕ
//Изучите работу функции с передачей аргумента, //которая только выводит текст в браузер //Добавьте еще вызовы функции, чтобы // вывелся текст «все хорошо прекрасная маркиза» function soob($txt) //заголовок функции
{
echo $txt;
echo «<br />»; //тело функции
}
soob(«все»); //первый вызов функции soob(«хорошо»);//второй вызов функции
?>
</body>
</html>
В этом упражнении показана работа функции с передачей текстового аргумента, которая этот аргумент выводит с помо-
щью echo.
75
Упражнение 2.36. Оператор return для возврата из функции значения
<html>
<head>
<title>function</title>
</head>
<body>
работа с функциями <br />
для возврата из функции значения используется оператор return <br /> <br />
<?php //ЗАДАНИЕ
//Изучите работу функции с использованием return,
//Вычислите прирост в %, когда новая цена 1300, 1500, 1700, 2000
//
function pri($old,$new) // вычисляет прирост в процентах
{
$p=100*($new-$old)/$old; return $p;
}
//
$z1=1000; $z2=1200;
echo “старая цена = “,$z1,”<br />”; echo « новая цена = «, $z2,»<br />»;
echo «прирост цены в процентах = «,pri($z1,$z2),»%<br />»; ?>
</body>
</html>
Функция может не только получать от основной программы аргументы, но и передавать в основную программу результат работы. Для этого служит оператор return.
В этом упражнении показана работа функции с числовыми аргументами и передачей числового результата в основную программу. Функция позволяет вычислить прирост цены на основании новой и старой цен.
76
Упражнение 2.37. Вычисление цены на основании прироста с помощью функции
<html>
<head>
<title>function</title>
</head>
<body>
работа с функциями <br />
для возврата из функции значения используется оператор return <br /> <br />
<?php //ЗАДАНИЕ
//Изучите работу функции с использованием return,
//Вычислите новую цену, когда прирост цены 30%, 50%, 70%, 100%
//
function newc($old,$proc) // вычисляет новую цену на основании прироста в %
{
$p=$old+$old*$proc/100; return $p;
}
$z1=1000; $z2=20;
echo “старая цена = “,$z1,”<br />”;
echo « прирост цены в процентах = «, $z2,»%<br />»; echo «новая цена = «,newc($z1,$z2),»<br />»;
?>
</body>
</html>
В этом упражнении показана работа функции с числовыми аргументами и передачей числового результата в основную программу. Функция позволяет вычислять цену на основании прироста к старой цене.
77
Упражнение 2.38. Встроенная строковая функция substr
<html>
<head>
<title></title>
</head>
<body>
Функция substr возвращает часть строки<br /> первый аргумент — исходная строка <br />
второй аргумент — номер начального символа (начало с 0, а не с 1)<br />
третий аргумент (необязательный) — количество символов <br /> <br />
ЗАДАНИЕ: <br /> Изучите примеры <br />
Примените функцию substr к строковой переменной $url <br />
для получения подстрок «google»,»google.ru» и «http» <br /> <br />
<?php
echo substr(“abcd”,1,2).”<br />”;//bc $st=”грузите апельсины бочками”; echo substr($st,0,7).”<br />”;//груз echo substr($st,8,9).”<br />”;//апельсины
echo substr($st,8).”<br />”;//апельсины бочками $url=”http://www.google.ru”;
?>
</body>
</html>
В этом упражнении показана работа встроенной функции substr. Функция позволяет выделять подстроки из исходной строки. Первый аргумент — исходная строка, второй аргумент — номер начального символа (начало с 0, а не с 1), третий аргумент (необязательный) — количество символов.
78
Упражнение 2.39. Встроенная строковая функция strstr
<html>
<head>
<title></title>
</head>
<body>
Функция strstr возвращает часть строки<br /> первый аргумент — исходная строка <br />
второй аргумент — подстрока, являющаяся началом результата<br /> <br />
ЗАДАНИЕ: <br /> Изучите примеры <br />
Примените функцию strstr к строковой переменной $url <br /> для получения подстроки «www.google.ru» <br />
<br /> <?php
echo strstr(“abcd”,”b”).”<br />”;//cd $st=”грузите апельсины бочками”;
echo strstr($st,”апельсины”).”<br />”;//апельсины бочками $url=”http://www.google.ru”;
?>
</body>
</html>
В этом упражнении показана работа встроенной функции strstr. Функция позволяет выделять подстроки из исходной строки. Первый аргумент — исходная строка, второй аргумент — подстрока, являющаяся началом результата.
79
Упражнение 2.40. Встроенная функция isset
<html> |
|
|
|
|
<head> |
|
|
|
|
<title></title> |
|
|
|
|
</head> |
|
|
|
|
<body> |
|
|
|
|
Функция isset используется для проверки того, что переменная |
|
|||
определена. <br /> |
|
|
|
|
Действия с неопределенными переменными приводят к ошибкам |
|
|||
работы программы |
|
|
|
|
ЗАДАНИЕ: <br /> |
|
|
|
|
Попробуйте работу программы <br /> |
|
|
|
|
Поймите работу программы <br /> |
|
|
|
|
Вставьте ниже проверку своей переменной, <br /> |
|
|
|
|
которой присвойте свое значение<br /> |
|
|
|
|
<br /> |
В |
этом |
упражнении |
|
показана работа встроен- |
||||
<?php |
ной функции isset. Функ- |
|||
if (isset($z)) { |
ция |
isset |
используется |
|
echo «переменная определена <br />»; |
для проверки того, что |
|||
} else { |
переменная |
определена. |
||
echo «переменная не определена <br />»; |
Действия с |
неопределен- |
||
} |
ными переменными при- |
|||
$z=”abc”; |
водит к ошибкам работы |
|||
if (isset($z)) { |
программы. |
Поэтому эта |
||
echo «переменная определена <br />»; |
функция оказывается по- |
|||
} else { |
лезной при поиске оши- |
|||
echo «переменная не определена <br />»; |
бок в программе. |
|||
} |
|
|
|
|
|
|
|
|
|
unset($z);//уничтожение переменной, освобождение памяти |
|
|
||
if (isset($z)) { |
|
|
|
|
echo «переменная определена <br />»; |
|
|
|
|
} else { |
|
|
|
|
echo «переменная не определена <br />»; |
|
|
|
|
} |
|
|
|
|
?> |
|
|
|
|
</body> |
|
|
|
|
</html> |
|
|
|
|
|
|
|
|
|
80
