За последние 24 часа нас посетили 17476 программистов и 1668 роботов. Сейчас ищут 940 программистов ...

Надо ли и стоит ли заменить на isset

Тема в разделе "PHP для новичков", создана пользователем KOMn1992, 15 янв 2015.

  1. KOMn1992

    KOMn1992 Новичок

    С нами с:
    8 янв 2015
    Сообщения:
    18
    Симпатии:
    0
    Работаю со старым кодом:) Стоит ли заменить is_array на isset вот кусочек кода.
    Код (Text):
    1. if (isset($temp['recepts'])) {
    2.              if (!is_array($user['recepts'])) {$user['recepts']=unserialize($user['recepts']);}
    3.             foreach ($temp['recepts'] as $key=>$value) {
    4.                   $user['recepts'][$key]=$value;
    5.             }
    6.             $tmp=serialize($user['recepts']);
    7.             $set.="recepts='$tmp',";
    8.          }
    Заранее огромное спасибо
     
  2. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Контекста, в котором это исполняется, не знаю, но, подозреваю, что функции может быть передан массив как в чистом виде, так и в сериализованном. Если функция получает не массив, она проводит десериализацию. Заменишь на isset, словишь попытки десериализации всего, что в нее передается. Если ее написали именно такой, есть ненулевая вероятность, что где-то в нее таки сбрасываются обычные массивы. В таких местах скрипт будет беспощадно падать. Если код твой, ты должен, по идее, знать что к чему и как.

    Лучше не трогать.

    Добавлено спустя 1 минуту 20 секунд:
    З.Ы. ХЗ в какой IDE ты работаешь, но phpStorm умеет находить места в коде, где происходит обращение к указанной функции. Помогает понять, как она используется и где.
     
  3. KOMn1992

    KOMn1992 Новичок

    С нами с:
    8 янв 2015
    Сообщения:
    18
    Симпатии:
    0
    Спасибо большое!

    Добавлено спустя 2 минуты 18 секунд:
    Fell-x27 можно ли ссылочку на phpStorm крякнутую:))
     
  4. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    ВОУ... Повеяло Индией.

    1) $user['recepts'] = $temp['recepts']; в случае, если нужно просто скопировать массив.
    2) $user['recepts'] = array_merge($user['recepts'], $temp['recepts']); в случае, если нужно слить массивы.

    Добавлено спустя 3 минуты 36 секунд:
    Гугли, на трекерах есть, скорее всего.
     
  5. KOMn1992

    KOMn1992 Новичок

    С нами с:
    8 янв 2015
    Сообщения:
    18
    Симпатии:
    0
    И ещё:) Уроки php Александр Долгу стоит глядеть?:) Бесплатно:) может знает кто:)
     
  6. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Если это видеоуроки в стиле "я кодю-вы перепечатываете", то вообще ничего подобного глядеть не стоит.
    Ну и опять же, учиться надо не php, а программированию. Настоящий программист, если надо, может легко переучиться с одного языка на другой. Потому что общие принципы в 95% схожи.