Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
dimaua2, могу ошибаться, но правила для имен констант такие же как и у переменных, т.е.
php.net пишет:
Имена переменных соответствуют тем же правилам, что и остальные наименования в PHP. Правильное имя переменной должно начинаться с буквы или символа подчеркивания и состоять из букв, цифр и символов подчеркивания в любом количестве. Это можно отобразить регулярным выражением: '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'
так что не прокатит.
При этом 7 это литерал и сам воспринимается как число
допустим я знаю, что echo "uuuuu $cars[doors]"; вот так он мне покажет мое значение, а вот так echo "uuuuu $cars[opel][year]"; выведет, что $cars[opel] массив и просто напишет [year]
то есть если например массив многомерный и я хочу его вывести в двойных кавычках то его нужно брать в фигурные скобки? (тем самым показывая пхп, что вот моя переменная или же в данном случае массив?..так чтоль?)
IllusionMH
Отправлено: 11 Июля, 2012 - 02:42:54
Активный участник
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
dimaua2, так. И при этом явно отмечать, что opel и year - строковые ключи т.е.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Dezmont
Отправлено: 11 Июля, 2012 - 12:16:40
Частый гость
Покинул форум
Сообщений всего: 245
Дата рег-ции: Июль 2010
Помог: 1 раз(а)
dimaua2, не сочтите не уместным, но я бы посоветовал Вам прочитать Мануал, раздел справочник языка тупо по-порядку. Там очень много подобных интересных "фишек". )) А потом уже будете знать в какой раздел подглядывать.
dimaua2
Отправлено: 11 Июля, 2012 - 14:34:09
Посетитель
Покинул форум
Сообщений всего: 434
Дата рег-ции: Янв. 2012
Помог: 0 раз(а)
спасибо, но я пока уроки досматрю... (Добавление)
EuGen пишет:
IllusionMH пишет:
dimaua2, могу ошибаться, но правила для имен констант такие же как и у переменных, т.е.
В целом, ошибаетесь. Объявить константу с именем, состоящим только из цифр, возможно. Более того, даже есть способ получить значение такой константы:
оо спасибо)
кст там где вы указали 10 - это значение может быть строчкой или же числом верно? (Добавление)
Кст IllusionMH был прав
в мануале вычитал...
Цитата:
Правильное имя начинается с буквы или символа подчеркивания и состоит из букв, цифр и подчеркиваний.
Но опять тут же вы говорите, что может быть только из цифр...и кто же прав?)
EuGen
Отправлено: 11 Июля, 2012 - 14:47:34
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
dimaua2
В мануале верно говорится - "правильное имя". Но "неправильное" - не значит, что Вы не сможете объявить. Но значит, что Вы не сможете обратиться к ней так, как положено обращаться к константе. Предложенный мною способ - это своего рода ущихрение, не стоит объявлять константы с именем-строкой, состоящей только из цифр. Кроме того, не стоит путать constant('7') и constant(7)
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
dimaua2
Отправлено: 11 Июля, 2012 - 14:58:08
Посетитель
Покинул форум
Сообщений всего: 434
Дата рег-ции: Янв. 2012
Помог: 0 раз(а)
constant('7') и constant(7)
а вот тут разница лишь в том, что в первом случае константа строка, а во втором число верно? (Добавление)
И последни вопросик по константам....
вот если сделать define("FFF", false); то что попадет в значение этой константы?
если проверять то она есть (ифом проверял....)
но если отдельно ее вывести, то ничего не показывает
caballero
Отправлено: 11 Июля, 2012 - 15:15:19
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
во первых вместо define лучше использовать const - быстрее работает
во вторых какой смысл объявлять константу числом если можно использовать само число?
Покинул форум
Сообщений всего: 434
Дата рег-ции: Янв. 2012
Помог: 0 раз(а)
я для эксперемента ее числом...но смысла нет...что делать с тем, о чем написал выше?
Мелкий
Отправлено: 11 Июля, 2012 - 15:21:09
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
dimaua2 пишет:
а вот тут разница лишь в том, что в первом случае константа строка, а во втором число верно?
Приведение типов, оба варианта укажут на одну и ту же константу.
dimaua2 пишет:
вот если сделать define("FFF", false); то что попадет в значение этой константы?
false и попадёт. Всё то же самое, что и с обычной переменной. False при приведении к строке становятся пустой строкой, тогда как true - 1.
При отладке пользуйтесь var_dump
----- PostgreSQL DBA
IllusionMH
Отправлено: 11 Июля, 2012 - 15:27:06
Активный участник
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Покинул форум
Сообщений всего: 434
Дата рег-ции: Янв. 2012
Помог: 0 раз(а)
Стоп вот все же немного объясните.
Смотрите я создаю константу ФФФ и в значение пихаю фелсе.
Потом проверяю есть ли такая константа, если есть ес, если нет но..так вот суть вопроса если же в константе лежит фелсе она считается, что существует?
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.