У меня тут такая строчка Код (Text): print $object->street.($object->street && $object->adress_nr?" ":"").$object->adress_nr; помогите к ней добавить вывод не только улицы и номера дома, а и дополнительное поле Код (Text): $object->adress_add
Спасибо, сейчсас попробую... Ещё просьба, вы смогли бы "разобрать" эту строчку: к чему тут скобки и кавычки, чтобы на будущее я не задавал "глупых" вопросов. Пробелов не вижу, нет оных вроде бы
круто. я писал что Код (PHP): print $object->street.($object->street && $object->adress_nr?" ":"").$object->adress_nr; и интересовался, что же это значит. я отвечу =) принт - это печатать на экран. а точнее в стандартный буфер вывода. далее вызов свойства объекта складывается как строка (конкатенация называется) со скобками и другой строкой после скобок. в скобках происходит нестрогое сравнение на true. && логический оператор AND и это значит в данном контексте, что оба эти свойства должны быть не пустые. После этого дела стоит знак вопроса. Это короткий (тенарный) if. Т.е. если перед ним true, то будет использована часть выражения до двоеточия. Если false, то после. Словами то что в скобках: если есть эти два свойства не пустые, то плюсуются в строку два пробела. Если пустые, то ничего. На самом деле, логично описать данную штуку вот так: Код (PHP): echo $object->street.($object->adress_nr ? " ".$object->adress_nr:""); в качестве домашнего задания на прокачку мозгов, попробуй объяснить, почему так лучше. Добавлено спустя 1 минуту 57 секунд: война клоническая началась
Код (Text): echo $object->street.($object->adress_nr ? " ".$object->adress_nr:""); И если я хочу чтобы у этой строки дополнительное сравнение с выводом проходило, то будет выглядеть вот так: Код (Text): echo $object->street.($object->adress_nr ? " ".$object->adress_nr.$object->adress_add:""); поправь пожалуйста если не так
если ты хочешь, чтобы при непустом $object->adress_nr выводилось сразу и $object->adress_nr, и $object->adress_add, а при пустом - не выводилось из них ничего, то да.
Спасибо огромное, не просто выручил, но ещё и объяснил что к чему!!! Потому, что adress_nr это номер дома, а adress_add это буквы к нему: a,б,в,г... поэтому, нет смысла выводить букву, если нет номера