Андрей
Высший разум
(425808)
4 года назад
echo implode(', ', array_filter(['10', '20', '30', '-50', '235', '3000'], function($val) {
return in_array(ltrim($val, '-')[0], ['1', '2', '5']);
}));
Если отрицательные числа невозможны, ещё проще:
echo implode(', ', array_filter(['10', '20', '30', '50', '235', '3000'], function($val) {
return in_array($val[0], ['1', '2', '5']);
}));
Yandex Mail
Ученик
(104)
9 месяцев назад
Во-первых, в данном случае, массив нужно привести к строке. А потом выполнить условие, при котором решим задачу.
Например:
$arr = [10, 20, 30, 50, 235, 3000];
foreach ($arr as $elem) {
$elem = (string)$elem;
if ($elem[0] == 1 || $elem[0] == 2 || $elem[0] == 5) {
echo $elem;
}}
Этот код короткий и полностью рабочий.