За последние 24 часа нас посетили 32002 программиста и 1380 роботов. Сейчас ищут 902 программиста ...

Простой цикл в массиве

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

  1. Danil005

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

    С нами с:
    2 янв 2015
    Сообщения:
    528
    Симпатии:
    30
    В чем тут ошибка? По какой-то причине записывает только первый элемент массива, а остальные будто бы не видит...

    PHP:
    1. $array=['test'=>1, 'test2'=>2, 'test3'=>3];
    2. foreach ($array as $name => $value) {
    3.         return $_SESSION[$name]=$value;
    4. }
    P.S. Ошибся с название) Простой цикл с массивом*
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.814
    Симпатии:
    1.332
    Адрес:
    Лень
    return для чего ?
     
  3. Danil005

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

    С нами с:
    2 янв 2015
    Сообщения:
    528
    Симпатии:
    30
    Не знаю.)
    --- Добавлено ---
    Вот и ошибка, спасибо. )
     
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.814
    Симпатии:
    1.332
    Адрес:
    Лень
    зачем кодишь вообще ?
     
  5. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    А после первого выходит из функции вообще. Потому что ты не прочитал, что такое ретурн и накодил пальцем в небо. Тут так не работает. Тут или знаешь, что делаешь и делаешь, либо не знаешь и ничего не будет работать. Программирование - штука точная.
     
  6. Danil005

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

    С нами с:
    2 янв 2015
    Сообщения:
    528
    Симпатии:
    30
    Мне просто нужно было чтобы он выводил эти данные, но через echo(если нужно) или чтобы можно было в переменную записать.
     
  7. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Ну так делай через echo или пиши в переменную, а не return :)
    Опиши, что конкретно хочешь. Зачем там много раз писать что-то в одну переменную сессии? Ты же в курсе, что там будет только последнее значение в итоге? Что хочешь сделать, опиши.
     
  8. Danil005

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

    С нами с:
    2 янв 2015
    Сообщения:
    528
    Симпатии:
    30
    Да, вкурсе, просто мне нужно передавать эту функцию в массив-переменную, вот например:
    $array=[$module->__setSession('test')];
    Но при других условиях, делать просто вывод этой сессии: echo $module->__setSession('test');
    --- Добавлено ---
    Наверно грамотней просто сделать отдельную функцию для SET и для PRINT, что я в принципе в конце концов и сделал.