Учебные задачи - PHP. Задача №14
Primary tabs
Задача из списка
Есть два массива "a" и "b". На вход вашей программе подаётся массив "a" случайных
чисел (10 элементов) из диапазона от 1 до 20. Задача: вывести на экран все числа,
которые не содержатся в массиве "b":
$b = [12, 5, 17, 6, 4];
Решите эту задачу двумя способами:
Без использования in_array();
С использованием in_array().
1) без использования in_array:
<?php $b = [12, 5, 17, 6, 4]; function createArray() { for ($i = 1; $i <=10; $i++) { $a[] = rand(1, 20); } return $a; } function diffValue($a, $b) { foreach ($a as $m => $mas) { foreach ($b as $n => $val) { if ($mas == $val) { unset ($a[$m]); } } } foreach($a as $value) { echo $value, "<br>"; } } diffValue(createArray(), $b);
2) c использованием in_array:
<?php $b = [12, 5, 17, 6, 4]; function createArray() { for ($i = 1; $i <=10; $i++) { $a[] = rand(1, 20); } return $a; } function diffValue($a, $b) { foreach ($a as $mas) { if (! in_array("$mas", $b)) { echo $mas, "<br>"; } } } diffValue(createArray(), $b);
- Log in to post comments
- 6206 reads
vedro-compota
Fri, 11/01/2019 - 23:07
Permalink
альтернатива
приведите вариант решения без unset()
_____________
матфак вгу и остальная классика =)
den123
Sat, 11/02/2019 - 00:29
Permalink
Без unset()
vedro-compota
Fri, 11/15/2019 - 09:59
Permalink
замечания
исправьте
-- в чем она состоит? исправьте (тут есть код, который не влияет на последовательность действий в данном случае)
_____________
матфак вгу и остальная классика =)
den123
Thu, 11/28/2019 - 15:06
Permalink
Исправил замечания
vedro-compota
Fri, 11/29/2019 - 13:59
Permalink
уже лучше, но можно сделать,
уже лучше, но можно сделать, так чтобы проверка:
выполнялась только 1 раз за виток внешнего цикла (и, соответственно, действия по ней), а не на каждое неравенство. Попробуйте.
_____________
матфак вгу и остальная классика =)
den123
Sat, 12/14/2019 - 12:32
Permalink
Поправил
vedro-compota
Fri, 01/10/2020 - 13:03
Permalink
решение засчитано
решение засчитано
_____________
матфак вгу и остальная классика =)