Задача №14 - Вывести на экран все числа, которые не содержатся в массиве
Primary tabs
Задачи из этого списка
Решение задачи с использованием in_array()
<?php /*На вход вашей программе подаётся массив случайных чисел (10 элементов) из диапазона от 1 до 20. Задача: вывести на экран все числа, которые не содержатся в массиве $b = [12, 5, 17, 6, 4] */ // Объявление функции создания массива и заполнения его случайными числами function сreateArray($N) { for ( $i = 0; $i < $N; $i++ ) { $source[] = rand( 1, 20 ); } return $source; } // Объявление функции фильтрации массива случайных чисел function filterateArray($source, $forbidden) { for ( $i = 0; $i < count($source); $i++ ) { if (in_array($source[$i], $forbidden)) { return NULL; } else { echo $source[$i]." "; } } } $restrictedNumbers = [12, 5, 17, 6, 4]; // Массив чисел, которые не должны выводиться на экран $sourceArray = сreateArray(10); // Вызов функции создания массива случайных чисел filterateArray($sourceArray, $restrictedNumbers); // Вызов функции вывода на экран чисел, которые не содержатся в массиве ?>
- Log in to post comments
- 10744 reads
melisa
Thu, 10/04/2018 - 14:41
Permalink
замечания
$source - неудачное название. Внутри области видимости функции createArray() нет ограничивающего массива вообще. Внутри функции существует только 1 массив, и непонятно, почему он называется "исходный".
Pavel1989
Fri, 10/05/2018 - 18:25
Permalink
Доработал
Решение с использованием функции in_array()
Pavel1989
Fri, 10/05/2018 - 18:27
Permalink
Без in_array()
melisa
Fri, 10/05/2018 - 19:52
Permalink
неверно
В целом верно, но более красивое решение можно написать с помощью оператора switch. Это стандартное решение, когда у вас много условий.
Pavel1989
Fri, 10/05/2018 - 20:33
Permalink
Исправил
Pavel1989
Fri, 10/05/2018 - 20:34
Permalink
Без in_array()
melisa
Sat, 10/06/2018 - 11:43
Permalink
echo null;бесполезная строка
бесполезная строка
почитайте здесь, какие варианты switch могут быть. возможно, без некоторых break можно обойтись
Pavel1989
Sat, 10/06/2018 - 14:55
Permalink
Доработал
melisa
Mon, 10/08/2018 - 11:35
Permalink
принято
принято