За последние 24 часа нас посетили 20518 программистов и 1129 роботов. Сейчас ищет 671 программист ...

Что, где, когда?

Тема в разделе "Решения, алгоритмы", создана пользователем KING_PHP, 14 авг 2017.

  1. KING_PHP

    KING_PHP Активный пользователь

    С нами с:
    18 апр 2015
    Сообщения:
    154
    Симпатии:
    3
    Адрес:
    Волгоград
    Доброго времени суток, иметься 3 класса, в которых 3 одинаковые функции Scan(). нужно пройтись по всем трем классам, если в каком-то из них есть ответ - вывести его.
    Я делаю так
    PHP:
    1. Class A{
    2. public function Scan(){
    3. return false;
    4. }
    5. }
    6. Class B{
    7. public function Scan(){
    8. return false;
    9. }
    10. }
    11. Class C{
    12. public function Scan(){
    13. return 'Нашел!';
    14. }
    15. }
    16. //
    17. $classes = ['A','B','C'];
    18. $return = false;
    19. foreach($classes as $class){
    20.   $class = new $class();
    21.   $data = $class->Scan();
    22. if($data !== false){
    23.   $return = $data;
    24. break;
    25. }
    26. }
    27. echo $return;
    А как делаете это ты?

    UPD: Так-же работает такой вариант:
    PHP:
    1. ...
    2. $classes = [new A(),new B(),new C()];//LOOOL
    3. ...
     
    #1 KING_PHP, 14 авг 2017
    Последнее редактирование: 14 авг 2017
  2. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Думаю о том, как это переписать.
     
  3. KING_PHP

    KING_PHP Активный пользователь

    С нами с:
    18 апр 2015
    Сообщения:
    154
    Симпатии:
    3
    Адрес:
    Волгоград
    Прям как в одной песне: "Я думаю, и ни чего опять не придумаю".