У меня есть этот код:
$tierHosts['host'] = isset($host['name']) ? $host['name'] : $host;
Он отлично работает в PHP 5.5, но в PHP 5.3 условие возвращает true, а $host
содержит строку типа pjba01
. Он возвращает первую букву $tierHosts['host']
, то есть p
.
Что не так с моим кодом?
(is_array($host) && isset($host["name"]))
. Всегда сверяйтесь с типом, который вам нужен, если неясно, какой тип вы получите. Подробнее об описанном вами поведении см. в ответе Rizier123. - person TobiasJ   schedule 14.09.2015