Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > Общие вопросы Web
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.10.2022, 13:27   #1
underground23
Пользователь
 
Регистрация: 04.10.2022
Сообщений: 13
По умолчанию Как в php вывести числа из массива в обратном порядке.

Доброго времени суток уважаемые форумчане! Попытался отобразить только нечётные числа из массива, вроде вышло. Теперь пытаюсь ниже отобразить их-же, но в обратном порядке, не получается. Подскажите как сделать?
Код:
<?php
function fun(...$a) {
        foreach($a as $b){
            if($b % 2 != 0) {
                echo $b. " ";
            }
        }
    }
    fun(0,1,8,3,4,7,6,7,8,9,8,5,6,4);
?>
underground23 вне форума Ответить с цитированием
Старый 25.10.2022, 13:48   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Напишите один из обычных циклов с шагом -1. Или если так хочется foreach, то исользуйте array_reverse.
p51x вне форума Ответить с цитированием
Старый 25.10.2022, 19:53   #3
underground23
Пользователь
 
Регистрация: 04.10.2022
Сообщений: 13
По умолчанию

Получилось вот так:
Код:
<?php
$arr = [5,2,7,3,8,9];
    
echo "Нечётные <br>";
print_r(array_filter($arr, function($i) {
    return $i % 2 != 0;
    }));

$r = array_reverse($arr);
    
echo "<br> Реверс <br>";
print_r(array_filter($r, function($i) {
    return $i % 2 != 0;
    })); 
?>
Как сделать тоже-самое, но компактнее?
underground23 вне форума Ответить с цитированием
Старый 25.10.2022, 20:12   #4
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Компактнее 6 строчек?
Код:
<?php

$a = [5,2,7,3,8,9];
echo "Нечётные <br>";
print_r(array_filter($a, function($i) { return $i % 2 != 0; }));
$r = array_reverse($a);
echo "<br> Реверс <br>";
print_r(array_filter($r, function($i) { return $i % 2 != 0; })); 

?>
Хотя наверное можно уместиться в 5 строчек
Код:
<?php

$a = [5,2,7,3,8,9];
echo "Нечётные <br>";
print_r(array_filter($a, function($i) { return $i % 2 != 0; }));
echo "<br> Реверс <br>";
print_r(array_filter(array_reverse($a), function($i) { return $i % 2 != 0; })); 

?>

Последний раз редактировалось macomics; 25.10.2022 в 20:17.
macomics вне форума Ответить с цитированием
Старый 25.10.2022, 20:22   #5
underground23
Пользователь
 
Регистрация: 04.10.2022
Сообщений: 13
По умолчанию

Я имею ввиду включить весь код в одну функцию.
underground23 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести слово в обратном порядке kat-fm Помощь студентам 3 23.01.2018 13:38
Вывести цифры числа по отдельности. Выводятся в обратном порядке Alim- Общие вопросы C/C++ 2 03.01.2017 21:57
как вывести массив в обратном порядке С++ stpategImws Помощь студентам 1 02.12.2012 19:23
ВЫвести элементы массива в обратном порядке Кристина Н Паскаль, Turbo Pascal, PascalABC.NET 1 01.12.2011 08:25
Вывести числа в обратном порядке asmcc Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 14 20.02.2010 11:46