Работаю со старым кодом Стоит ли заменить is_array на isset вот кусочек кода. Код (Text): if (isset($temp['recepts'])) { if (!is_array($user['recepts'])) {$user['recepts']=unserialize($user['recepts']);} foreach ($temp['recepts'] as $key=>$value) { $user['recepts'][$key]=$value; } $tmp=serialize($user['recepts']); $set.="recepts='$tmp',"; } Заранее огромное спасибо
Контекста, в котором это исполняется, не знаю, но, подозреваю, что функции может быть передан массив как в чистом виде, так и в сериализованном. Если функция получает не массив, она проводит десериализацию. Заменишь на isset, словишь попытки десериализации всего, что в нее передается. Если ее написали именно такой, есть ненулевая вероятность, что где-то в нее таки сбрасываются обычные массивы. В таких местах скрипт будет беспощадно падать. Если код твой, ты должен, по идее, знать что к чему и как. Лучше не трогать. Добавлено спустя 1 минуту 20 секунд: З.Ы. ХЗ в какой IDE ты работаешь, но phpStorm умеет находить места в коде, где происходит обращение к указанной функции. Помогает понять, как она используется и где.
Спасибо большое! Добавлено спустя 2 минуты 18 секунд: Fell-x27 можно ли ссылочку на phpStorm крякнутую)
ВОУ... Повеяло Индией. 1) $user['recepts'] = $temp['recepts']; в случае, если нужно просто скопировать массив. 2) $user['recepts'] = array_merge($user['recepts'], $temp['recepts']); в случае, если нужно слить массивы. Добавлено спустя 3 минуты 36 секунд: Гугли, на трекерах есть, скорее всего.
Если это видеоуроки в стиле "я кодю-вы перепечатываете", то вообще ничего подобного глядеть не стоит. Ну и опять же, учиться надо не php, а программированию. Настоящий программист, если надо, может легко переучиться с одного языка на другой. Потому что общие принципы в 95% схожи.