Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Константа
 
 автор: WapMorgan   (13.09.2010 в 16:34)   письмо автору
 
 

возникла необходимость получить имя константы в виде строки.
echo somefunct(CONSTANT); // string (8) "CONSTANT"

  Ответить  
 
 автор: nikita2206   (13.09.2010 в 17:02)   письмо автору
 
   для: WapMorgan   (13.09.2010 в 16:34)
 

Вопрос вообще не понял. Но уже предвижу, что константы ты используешь не по назначению, юзай переменные.

  Ответить  
 
 автор: WapMorgan   (13.09.2010 в 17:16)   письмо автору
 
   для: nikita2206   (13.09.2010 в 17:02)
 

все по назначению

  Ответить  
 
 автор: deimand   (13.09.2010 в 17:47)   письмо автору
 
   для: WapMorgan   (13.09.2010 в 17:16)
 

константу видно в функции, даже если не передавать ее туда параметром. значит все таки не по назначению

  Ответить  
 
 автор: psychomc   (14.09.2010 в 00:15)   письмо автору
 
   для: WapMorgan   (13.09.2010 в 17:16)
 

и какое же в данном случае у неё назначение?

  Ответить  
 
 автор: DJ Paltus   (13.09.2010 в 17:15)   письмо автору
 
   для: WapMorgan   (13.09.2010 в 16:34)
 

http://saintist.ru/2010/04/22/kak-uznatpoluchit-imya-peremennoj/

  Ответить  
 
 автор: WapMorgan   (13.09.2010 в 17:24)   письмо автору
 
   для: DJ Paltus   (13.09.2010 в 17:15)
 

я зря несколько раз употребил слово "константа" ?

  Ответить  
 
 автор: Trianon   (13.09.2010 в 18:21)   письмо автору
 
   для: WapMorgan   (13.09.2010 в 17:24)
 

возьмите имя в апострофы :)

  Ответить  
 
 автор: neadekvat   (13.09.2010 в 18:25)   письмо автору
 
   для: WapMorgan   (13.09.2010 в 16:34)
 

Если имена констант задаются вручную в коде - то нафига козе баян?
Если имена констант задаются динамически (что уже находится где-то рядом с бредом), то просто помещайте ее имя в переменную.
А имея константу SOME узнать, что ее имя - SOME - это настолько дебильная задача, пардон, что естесственно никаких средств для ее решения нет.

  Ответить  
 
 автор: Tonik992   (13.09.2010 в 21:30)   письмо автору
 
   для: neadekvat   (13.09.2010 в 18:25)
 

Возможно ты прав. Но если передавать константу через функцию как автор написал
echo somefunct(CONSTANT); // string (8) "CONSTANT"

Ведь на вход может пойти любая константа! А функция заранее не знает какая константа передается, вот видимо и требуется определить имя её

  Ответить  
 
 автор: Trianon   (13.09.2010 в 21:51)   письмо автору
 
   для: Tonik992   (13.09.2010 в 21:30)
 

>Но если передавать константу через функцию как автор написал

Константу через функцию передать невозможно.
Можно передать лишь её значение.

  Ответить  
 
 автор: WapMorgan   (13.09.2010 в 23:11)   письмо автору
 
   для: Trianon   (13.09.2010 в 21:51)
 

не цепляйтесь к словам.
цель ясна.
подсказали только проход по данным get_defined_constants() с поиском значения, но точность при это мала.

  Ответить  
 
 автор: Trianon   (13.09.2010 в 23:41)   письмо автору
 
   для: WapMorgan   (13.09.2010 в 23:11)
 

Вы, простите, в своем уме ли?

  Ответить  
 
 автор: WapMorgan   (14.09.2010 в 00:23)   письмо автору
 
   для: Trianon   (13.09.2010 в 23:41)
 

само собой

  Ответить  
 
 автор: Trianon   (14.09.2010 в 00:28)   письмо автору
 
   для: WapMorgan   (14.09.2010 в 00:23)
 

И при этом Вы, описывая проблему, упоминая функцию, её аргумент, в ответ на указание уточнить методику передачи, и представить разницу между именем и значением, отвечаете "не цепляйтесь к словам"?
При чем ответ явно не на Ваш пост.
Про цель (и её прозрачность) я, так и быть, умолчу.

  Ответить  
 
 автор: Tonik992   (14.09.2010 в 00:28)   письмо автору
 
   для: WapMorgan   (14.09.2010 в 00:23)
 

Гугл в помощь.. А так же можете попробовать сами написать эту функцию на плюсах и добавить её в библиотеку php

  Ответить  
 
 автор: Trianon   (14.09.2010 в 00:32)   письмо автору
 
   для: Tonik992   (14.09.2010 в 00:28)
 

Сильно сомневаюсь, что ему это удастся сделать честно.
Имя не передается независимо от того, на чем написана функция.

Я тут набросал один вариант, который таки достигает этой (совершенно ненужной) цели.
Но а) через грязный хак. и б) с некоторыми ограничениями (в частности, вызов функции должен быть одиночным в пределах исходной строки)

  Ответить  
 
 автор: WapMorgan   (13.09.2010 в 23:12)   письмо автору
 
   для: neadekvat   (13.09.2010 в 18:25)
 

>> Если имена констант задаются динамически (что уже находится где-то рядом с бредом), то просто помещайте ее имя в переменную.
я не думаю задавать константы динамически, спрашиваю из любопытства

  Ответить  
 
 автор: sim5   (13.09.2010 в 23:37)   письмо автору
 
   для: WapMorgan   (13.09.2010 в 23:12)
 

get_defined_constants возвращает массив всех определённых констант, в котором по значению можно узнать ее имя. Но как-то странно звучит задача...

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования