За последние 24 часа нас посетили 53022 программиста и 1764 робота. Сейчас ищут 1219 программистов ...

PHP Runtime notice. Что не так?

Тема в разделе "PHP для новичков", создана пользователем justc, 21 фев 2018.

  1. justc

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

    С нами с:
    27 сен 2015
    Сообщения:
    130
    Симпатии:
    0
    PHP Runtime notice: Only variables should be passed by reference in

    PHP:
    1. // deserialize() Return an unserialized array or the argument
    2. array_shift(deserialize($this->nsyujety))
     
  2. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    PHP:
    1. $arr = deserialize($this->nsyujety);
     
    justc нравится это.
  3. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    в array_shift аргумент как ссылка переменная, не просто туда данные запихиваешь
     
  4. justc

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

    С нами с:
    27 сен 2015
    Сообщения:
    130
    Симпатии:
    0
    а можно
    echo array_shift($arr);
    ?
     
  5. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Если вас не смущает предупреждение, которое будет при этом выбрасываться и кроме "Array" вы все равно ничего не увидите, то можно.
     
  6. justc

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

    С нами с:
    27 сен 2015
    Сообщения:
    130
    Симпатии:
    0
    ну вообще-то код работает
    PHP:
    1. echo array_shift(deserialize($this->nsyujety));
    в логи залез по другим проблемам и увидел что куча нотисов

    получается можно сделать так:
    $arr = array_shift(deserialize($this->nsyujety));
    echo $arr;
     
  7. keren

    keren Новичок

    С нами с:
    15 ноя 2017
    Сообщения:
    513
    Симпатии:
    42
    Да ну, аррей шифт может разное возвращать:
    PHP:
    1. <?php
    2.     $arr = [1, 2, 3, 4, 5];
    3.     echo array_shift($arr); //1
     
  8. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    @keren, да, по запарке мысля подсознательно работала в том направлении, что функции array_* чаще возвращают массив.