За последние 24 часа нас посетили 18518 программистов и 1712 роботов. Сейчас ищут 878 программистов ...

Вывод массива с помощью return

Тема в разделе "PHP для новичков", создана пользователем colanah, 3 июл 2008.

  1. colanah

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

    С нами с:
    3 июл 2008
    Сообщения:
    2
    Симпатии:
    0
    Добрый день. Вот пытаюсь написать свой первый сайт и встала проблемка:

    Имеется такая часть кода в блоке регистрации:

    Есть массив
    Код (Text):
    1. $err = array();
    куда мы заносим все наши ошибочки возникшие при регистрации.

    После, идем проверять данные введенные в форму и получаем
    Код (Text):
    1. $err[] = "какая нить ошибка";
    Далее я хочу что бы была именно функция которая бы выводилa мне весь этот массив ошибок.

    Код (Text):
    1.        
    2.             function mistakes($err)
    3.                 {
    4.                     echo "<b>Результат регистрации:</b><br>";
    5.                     foreach($err AS $error)
    6.                     {
    7.                         return "".$error."<br>";
    8.                     }
    9.                 }  

    Как видно здесь в результате мы можем уже где то дальше в коде выводить наши ошибки... теперь вопрос... как сделать что бы return выводил не 1 элемент массива а все имеющиеся?) Объяснил как мог , просьба не сердиться... 10x.
     
  2. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    PHP:
    1.             function mistakes($err)
    2.             {
    3.                $str = "";
    4.                foreach($err AS $error)
    5.                {
    6.                   $str .= $error."<br>";
    7.                }
    8.                return $str;
    9.             }  
     
  3. nimistar

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

    С нами с:
    30 май 2007
    Сообщения:
    919
    Симпатии:
    0
    Во-первых: кто мешает использовать вместо return ,echo - вот у тебя и будет выводится на экран что надо !
    Во вторых:
    PHP:
    1. function mistakes($err)
    2.             {
    3.                echo "<b>Результат регистрации:</b><br>";
    4.                return "".implode("<br>",$err); // выводим сразу весь массив
    5.             }  
    6.  
    и в третьих: зачем мутить для этого функцию ??
    PHP:
    1. echo "<b>Результат регистрации:</b><br>".implode("<br>",$err);
    - типа сразу и вывести все что надо !
     
  4. colanah

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

    С нами с:
    3 июл 2008
    Сообщения:
    2
    Симпатии:
    0
    Спасибо за помощь Sergey89 и nimistar.

    Ну тут дело в следующем, сайт будет построен так, что на нем будет 5 основных областей: header, footer, content(center) right и left + возможно некоторые другие вставки.
    Все это реализовано с помощью вывода таблиц или части таблиц с помощь ОПП в нужные части сайта соответственно.
    А функциями и в том числе return я пользуюсь потому, что именно return, а не echo позволяет дальше, уже при вызове функции отображать нужный код или его исполнение в нужном месте.
    Echo к сожалению отображает не там где надо.