игра брюс 2048
Главная / Программирование / Язык программирования PHP / Тест 7

Язык программирования PHP - тест 7

Упражнение 1:
Номер 1
Дан массив $a = array("aaa","fff",12,"c", 3). Проверить, существует ли в массиве число 3, не перебирая все элементы массива.

Ответ:

 (1) <? $a = array("aaa","fff",12,"c", "3"); if (in_array("3","$a",false)) echo"Число найдено"; else echo"Нет такого числа в массиве"; ?>  

 (2) <?php $a = array("aaa","fff",12,"c", 3); if (in_array(3,$a,true) ) echo"Число найдено"; else echo"Нет такого числа в массиве"; ?>  

 (3) <? $a = array("aaa","fff",12,"c", 3); if (in_array($a, "3")) echo"Число найдено"; else echo"Нет такого числа в массиве"; ?>  


Номер 2
Дан массив $b = array("23aaa","4","qww","c", 3). Найти в массиве число 3, не перебирая все элементы массива. Если элемент найден, вывести значение его ключа.

Ответ:

 (1) <?php $b = array("23aaa","4","qww","c", 3); $index = array_search($b,"3"); if ($index === false) echo"Нет такого числа в массиве"; else { echo"Число найдено с ключом "; echo $index; } ?>  

 (2) <?php $b = array("23aaa","4","qww","c", 3); $index = array_search(3,$b,true); if ($index === false) echo"Нет такого числа в массиве"; else { echo"Число найдено с ключом "; echo $index; } ?>  

 (3) <?php $b = array("23aaa","4","qww","c", 3); if (!array_search("3",$b)) echo"Нет такого числа в массиве"; else { echo"Число найдено с ключом "; echo array_search("3",$b); } ?>  


Номер 3
Дан массив $b = array("3в","4","ууу","ааа", 4). Найти в массиве все элементы, значения которых равны числу 4 или строке "4". Вывести ключи этих элементов. Решить задачу, не перебирая элементы массива.

Ответ:

 (1) <?php $b = array("3в","4","ууу","ааа", 4); $keys = array_keys($b,"4"); foreach ($keys as $k) echo "$k<br>"; ?>  

 (2) <?php $b = array("3в","4","ууу","ааа", 4); $keys = array_keys("4",$b); foreach ($keys as $k) echo "$k<br>"; ?>  

 (3) <?php $b = array("3в","4","ууу","ааа", 4); $keys = array_keys($b,"4",true); foreach ($keys as $k) echo "$k<br>"; ?>  


Упражнение 2:
Номер 1
Имеется массив $names = array("Иван", "Петр", "Вася", "Гена"). Отсортировать массив по убыванию значений его элементов. Вывести полученный массив.

Ответ:

 (1) <?php $names = array("Иван", "Петр", "Вася", "Гена"); asort($names); print_r($names); ?>  

 (2) <?php $names = array("Иван", "Петр", "Вася", "Гена"); rsort($names); print_r($names); ?>  

 (3) <?php $names = array("Иван", "Петр", "Вася", "Гена"); usort($names,"task"); function task($a, $aa){ return ($a>$aa) ? –2 : 2; if ($a == $aa ) return 0 ; } print_r($names); ?>  


Номер 2
Имеется массив $jobs = array("машинист", "трубочист", "писатель", "вор"). Какая программа позволяет вывести отсортированный по возрастанию значений элементов массив?

Ответ:

 (1) <?php $jobs = array("машинист", "трубочист", "писатель", "вор"); sort($jobs, SORT_HEIGHT); print_r($jobs); ?>  

 (2) <?php $jobs = array("машинист", "трубочист", "писатель", "вор"); sort($jobs, SORT_REGULAR); print_r($jobs); ?>  

 (3) <?php $jobs = array("машинист", "трубочист", "писатель", "вор"); usort($jobs,"task"); function task($a, $aa){ return ($a>$aa) ? –2 : 2; if ($a == $aa ) return 0 ; } print_r($jobs); ?>  


Номер 3
Имеется массив $jobs = array ( 300 =>"машинист", "мало" =>"трубочист", 500=>"писатель", "как получится" => "вор"). Отсортировать массив по возрастанию значений его ключей. Вывести полученный массив.

Ответ:

 (1) <?php $jobs = array ( 300 =>"машинист", "мало" =>"трубочист", 500=>"писатель", "как получится" => "вор"); ksort($jobs); print_r($jobs); ?>  

 (2) <?php $jobs = array ( 300 =>"машинист", "мало" =>"трубочист", 500=>"писатель", "как получится" => "вор"); krsort($jobs, SORT_NUMERIC); print_r($jobs); ?>  

 (3) <?php $jobs = array ( 300 =>"машинист", "мало" =>"трубочист", 500=>"писатель", "как получится" => "вор"); uksort($jobs,"task"); function task($a, $aa){ return ($a<$aa) ? –2 : 2; if ($a == $aa ) return 0 ; } print_r($jobs); ?>  


Упражнение 3:
Номер 1
        

Имеется форма для выбора записи, предназначенной для удаления:

<form action=task3.php> Запись номер 1 <input type=checkbox name=id[] value=first> <br> Запись номер 2 <input type=checkbox name=id[] value=second> <br> Запись номер 3 <input type=checkbox name=id[] value=third> <br> <input type=submit value="Удалить"> </form>

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


Ответ:

 (1) <? print_r($_GET); array_walk($_GET['id'],"test"); function test(&$val,$key){ $val = "Элемент с ключом $key и именем $val"; } print_r($_GET); ?>  

 (2) <? print_r($_SET); array_walk($_GET,"test"); function test($val, $key){ foreach ($val as $k=> $v) $val[$k] = "Элемент с именем $v"; } print_r($_GET); ?>  

 (3) <? print_r($_POST); array_walk("test",$_POST); function test(&$val,$key){ foreach ($val as $k=> $v) $val[$k] = "Элемент с именем $v"; } print_r($_POST); ?>  


Номер 2
Дан массив $a = array("second","third","first"); Отсортировать значения элементов массива так, чтобы элемент third был первым, second – вторым, first – третьим.

Ответ:

 (1) <? $a = array("second","third","first"); usort($a,"tes"); function tes($c, $d){ if ($c == "third" && $d == "second") return -1; if ($c == "third" && $d == "first") return -1; if ($c == "second" && $d == "third") return 1; if ($c == "second" && $d == "first") return -1; if ($c == "first" && $d == "second") return 1; if ($c == "first" && $d == "third") return 1; } print_r($a); ?>  

 (2) <? $a = array("second","third","first"); usort($a,"tes"); function tes($c, $d, $data){ if ($c == "third" && $d == "second") return -1; if ($c == "third" && $d == "first") return -1; if ($c == "first" && $d == "second") return 1; if ($c == "second" && $d == "third") return 1; if ($c == "first" && $d == "third") return 1; if ($c==$d==$data) return 0; } print_r($a); ?>  

 (3) <? $a = array("second","third","first"); $f = "usort"; $f($a,"tes"); function tes($c, $d){ if ($c == "third" && $d == "second") return -1; if ($c == "third" && $d == "first") return -1; if ($c == "second" && $d == "third") return 1; if ($c == "second" && $d == "first") return -1; if ($c == "first" && $d == "second") return 1; if ($c == "first" && $d == "third") return 1; } print_r($a); ?>  


Номер 3
        

Имеется следующая форма:

<form action=task3.php> Запись номер 1 <input type=checkbox name=id[] value=10> <br> Запись номер 2 <input type=checkbox name=id[] value=20> <br> Запись номер 3 <input type=checkbox name=id[] value=30> <br> <input type=submit value="Отправить"> </form>

Изменить значения переданных элементов, увеличив их в 10 раз. Использовать функцию array_walk(). Вывести значения элементов до и после применения array_walk


Ответ:

 (1) <? print_r($_POST); array_walk($_POST,"test"); function test(&$val,$key){ foreach ($val as $k=> $v) $val[$k] = $v*10; } print_r($_POST); ?>  

 (2) <? print_r($_GET); array_walk($_GET,"test"); function test(&$val,$key){ $val = $val*10; } print_r($_GET); ?>  

 (3) <? print_r($_GET); array_walk($_GET,"test"); function test(&$val,$key){ foreach ($val as $k=> $v) $val[$k] = $v*10; } print_r($_GET); ?>  


Упражнение 4:
Номер 1
Данные некоторой формы отправлены на сервер методом POST. Проверить, была ли передана переменная с именем mode.

Ответ:

 (1) <?php $keys = array_keys($_REQUEST, "mode"); if ($keys) echo "Element found"; ?>  

 (2) <?php $keys = array_keys($_POST); if (in_array("mode", $keys)) echo "Element found"; ?>  

 (3) <?php $keys = array_keys($_REQUEST); foreach ($keys as $k) { if ($k == "mode") echo "Element found"; } ?>  


Номер 2
Данные некоторой формы отправлены на сервер методом GET. Проверить, была ли передана в качестве значения какого-либо элемента формы пустая строка

Ответ:

 (1) <?php if (in_array("", $_GET, true)) echo "Element found"; ?>  

 (2) <?php if (array_search($_GET, "", true)) echo "Element found"; ?>  

 (3) <?php if (array_keys($_GET, "")) echo "Element found"; ?>  


Номер 3
Данные некоторой формы отправлены на сервер методом POST. Проверить, была ли передана в качестве значения какого-либо элемента формы строка "hello"

Ответ:

 (1) <?php if (array($_POST, "hello", true)) echo "Element found"; ?>  

 (2) <?php if (array_search("hello", $_GET)) echo "Element found"; ?>  

 (3) <?php if (array_keys($_POST, "hello")) echo "Element found"; ?>  


Упражнение 5:
Номер 1
Данные некоторой формы отправлены на сервер. Из массива переданных данных выделить подмассив, который не содержит первого и последнего элементов исходного массива.

Ответ:

 (1) <?php $arr = array_slice($_REQUEST, 1, count($_REQUEST)-2); ?>  

 (2) <?php $arr = array_slice($_REQUEST, 1, count($_REQUEST)-1); ?>  

 (3) <?php foreach ($_REQUEST as $k => $arr) { if ($k <> 0 AND $k <> (count($_REQUEST)-2)) $new_arr[] = $arr; } ?>  


Номер 2
Данные некоторой формы переданы на сервер. Применить ко всем элементам массива переданных данных функцию my_stripslashes и вывести измененный массив.

Ответ:

 (1) <?php $new_arr = array_walk($_REQUEST, "my_stripslashes"); print_r($new_arr); ?>  

 (2) <?php $new_arr = array_walk($_REQUEST, "my_stripslashes"); function my_stripslashes(&$v, $k) { $v = stripslashes($v); } print_r($_REQUEST); ?>  

 (3) <?php $new_arr = array_walk($_REQUEST, "my_stripslashes"); function my_stripslashes($arr) { foreach ($arr as $k => $v) { $res[$k] = stripslashes($v); } return $res; } print_r($new_arr); ?>  

 (4) <?php $new_arr = array_walk($_REQUEST, "my_stripslashes"); function my_stripslashes($v, $k) { $v = stripslashes($v); } print_r($_REQUEST); ?>  


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

Ответ:

 (1) <?php $new_arr = array_walk($_REQUEST, "my_func"); function my_func(&$v, $k) { $v = "'".$v."'"; } print_r($_REQUEST); ?>  

 (2) <?php $new_arr = array_walk($_REQUEST, "my_func"); function my_func($v, $k) { $v = "'.$v.'"; } print_r($_REQUEST); ?>  

 (3) <?php function my_func(&$v, $k) { $v = "'".$v."'"; } foreach ($_REQUEST as $v) { my_func($v); } print_r($_REQUEST); ?>  




Главная / Программирование / Язык программирования PHP / Тест 7