Задачник по PHP (с решениями)
Шрифт:
и на 12%, если выбрана Италия. И далее это число уменьшается на 5%, если указана
скидка.
1. <html>
2. <head>
3. <meta charset="utf-8" />
4. <title>Название странички</title>
5. </head>
6. <body>
7.
8.
9. <?php
10.
echo '<pre>';
11.
print_r($_POST);
12.
echo '</pre>';
13.
if (isset($_POST['hero']))
14.
{
15.
if($_POST['hero'] == 1)
16.
{
17.
if(isset($_POST['b']))
18.
{
19.
echo"
20.
else{echo" в Италию без скидки ". ($_POST['a']*400*1.12);}
21.
}
22.
elseif( $_POST['hero'] == 2){
23.
if(isset($_POST['b'])){
24.
echo" в Грецию со скидкой". ($_POST['a']*400*1.1*0.95);}
25.
else{echo"Греция без скидкии".($_POST['a']*400*1.1);}
26.
}
27.
elseif($_POST['hero'] == 3){
28.
if(isset($_POST['b'])){
29.
echo" в Россию со скидкой". ($_POST['a']*400*0.95);}
30.
else{echo"Poccия без скидкии".($_POST['a']*400);}
31.
}
32.
}
33.
?>
34.
<form method="post">
35.
36.
<select name="hero"><option>выбирайте страну из списка </option> 37.
<option value="1">Италия</option>
38.
<option value="2">Греция</option>
39.
<option value="3">Россия</option>
40.
</select>
41.
<b>сколько дней отдыха?</b>
42.
<input type="text" name="a" />
43.
<b>есть ли у вас скидка?</b>
44.
<input type="checkbox" name="option" value="b"><Br> 45.
<input type="submit" value="Отправить">
46.
</form>
47.
48.
49.
</body>
50.
</html>
2) Массивы в PHP
2.1 Массивы
Дан массив с элементами 'Привет, ', 'мир' и '!'. Необходимо вывести на экран
фразу 'Привет, мир!'.
1. <?php
2. //Выведем фразу 'Привет, мир!':
3. $arr = ['Привет, ', 'мир', '!'];
4. echo $arr[0].$arr[1].$arr[2];
5. ?>
Слово 'Привет, ' хранится под номером 0, это значит, что для доступа к нему
мы должны написать $arr[0].
Для доступа к слову 'мир' мы должны написать $arr[1], а $arr[2] содержит в
себе '!'. Далее с помощью оператора 'точка' мы сложим три наши строки ('Привет, ',
'мир' и '!') в одну
строку таким образом: $arr[0].$arr[1].$arr[2], и выведем на экранс помощью echo.
Задача. Решим немного другую задачу: дан массив с элементами 'Привет, ',
'мир' и '!'. Необходимо записать в переменную $text фразу 'Привет, мир!', а затем
вывести на экран содержимое этой переменной.
1. <?php
2. $arr = ['Привет, ', 'мир', '!'];
3. $text = $arr[0].$arr[1].$arr[2];
4. /*
5.
В переменной $text теперь лежит строка 'Привет, мир!'.
6.
Выведем ее на экран:
7. */
8. echo $text;
9. ?>
Дан массив ['Привет, ', 'мир', '!']. Необходимо записать в первый элемент (то
есть элемент с номером ноль) этого массива слово 'Пока, ' (то есть вместо
слова 'Привет, ' будет 'Пока, ' ).
1. <?php
2. $arr = ['Привет, ', 'мир', '!'];
3. $arr[0] = 'Пока, '; //перезапишем первый элемент массива
4. var_dump($arr); //посмотрим на массив и убедимся в том, что он изменился
5. ?>
Дан массив с числами. Запишите в новый массив только те числа, в которых
есть цифра 5.
1. <?php
2.
3. function getFives($sArr, String $sInt) {
4. $result = [];
5.
6. foreach ($sArr as $item)
7. if (strpos(strval($item), $sInt) !== false) $result[] = $item; 8. return $result;
9. }
10.
11. $searchInt = 5;
12. $searchArr = [2,1,4,3,5,7,6,9,8,11,10,15,29,25,52,13,51];
13.
14. echo '<pre>';
15. var_dump(getFives($searchArr, $searchInt));
16. echo '</pre>';
17.
?>
Задача «Cтранный массив»*:
Создайте массив вида [1, [2], [[3]], [[[4]]] ], вместо 4 может быть любое целое
значение. К примеру, если 5 – тогда будет массив [1, [2], [[3]], [[[4]]], [[[[5]]]] ].
1. <?php
2. function getMultiArray($level) {
3. $result = $level;
4. for ($i = 1; $i < $level; $i++) {
5. $result = [$result];
6. }
7. return $result;
8. }
9.
10. function strange($value) {
11. $result = [];
12. for ($i = 1; $i <= $value; $i++) {
13. $result[$i] = getMultiArray($i);
14. }
15. return $result;
16.
}
17.