Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 30.03.2010
Сообщений: 21

Определение динамической константы (Самоучитель пхп 5/6 М.Кузнецов , И.Симдянов) - Чушь или мне кажется?

31.03.2010, 16:54. Показов 3238. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сидел сегодня часа 3 и пытался разобраться в следующем..

Всем известна тема по определению констант функцией define(); , так вот в одном из самоучителей нашел следующий код (тот самоучитель что в заглавии темы):

глава 4.3 Динамические константы стр 59

PHP
1
2
3
4
5
6
7
<?
 
$index = rand(1, 10); //Формируем случайное число от 1 до 10 (пока все ясно)
$ = "VALUE{$index}"; /*формируем имя константы ( Это откуда такое выражение000___ооо?? я перерыл 4 самоучителя и ничего подобного не нашел, да и в этом из всей главы только одна такая запись и не единого пояснения)*/
define($name, 1); /*определяем константу с динамическим именем (не понял вообще ничего ... что значит "динамичное имя" ? может значение? тогда тоже непонятно.. потому что оно не будет динамичным , так как определено '1')*/
echo constant($name); // получаем значение константы ( в результате выводит все время '1')
?>
нельзя ли написать банально вот так?
PHP
1
2
3
4
5
6
<?
define($name, rand(1, 10));
echo constant($name);
?>
 
?

Или же в предыдущем коде какой-то неведомый для меня смысл? Как "имя константы" может быть динамичным? если ее имя $name
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.03.2010, 16:54
Ответы с готовыми решениями:

Зловред или мне кажется
Добрый день! Пишу небольшой сервер на Node.js. Сегодня сервер отвалился с ошибкой: events.js:160 throw er; // Unhandled...

Вторая функция не начинает работать. Или мне кажется?
Добрый вечер всем! Вот у меня программка, но когда я ввожу &quot;n&quot; (т.е. &quot;нет&quot; на вопрос, продолжить ввод продуктов?&quot;) у меня ничего не...

Последние 2-3 дня форумы тормозят - или это мне кажется?!
Сабж.

3
 Аватар для Dimedrol
2378 / 941 / 129
Регистрация: 25.04.2009
Сообщений: 2,635
Записей в блоге: 4
31.03.2010, 17:05
Странный самоучитель.
PHP
1
2
define(NAME,rand(1,10));
echo NAME;
Вот и всё. Могу понять динамическое значение, но о динамическом имени впервые слышу.
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
31.03.2010, 17:44
Цитата Сообщение от Dimedrol Посмотреть сообщение
Странный самоучитель.
PHP
1
2
define(NAME,rand(1,10));
echo NAME;
Функция define() в первый параметр принимает строку с именем константы. Включите error_reporting(E_ALL); и увидите Notice в своем коде.

А раз уж она принимает строковое значение, то туда можно сунуть значение выражение (переменной в том числе). Под этим и имелось ввиду динамическое имя константы: константа есть, но ее имя хранится в переменной, и прочитать значение этой константы можно только через функцию constant().

А вот зачем заниматься таким бредом, это уже отдельная история.
0
0 / 0 / 0
Регистрация: 30.03.2010
Сообщений: 21
31.03.2010, 23:07  [ТС]
а что значит вот это выражение???

$name = "VALUE{$index}" //в 1ом сообщении я ошибся- пропустил случаяно

Добавлено через 1 час 8 минут
это же по идее экранирование знака '$' так??
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.03.2010, 23:07
Помогаю со студенческими работами здесь

кажется ли мне?
на выходных заметил, что яндекс в серпе выводит сайты без www? так ли это уважаемые знатоки или у меня просто выходные были пьяные?=) ну...

Мне кажется что то не так
Даны вещественное число a, целое число n. Вычислить 1/a+1/a(a+1)+...+1/a(a+1)...(a+n) #include &quot;pch.h&quot; #include &lt;iostream&gt; ...

Мне кажется меня кинули
Мне кажется меня кинули... Helpы! Всем привет. Доверился не знакомому человеку, который собрал мне игровой ПК. Но я подозреваю,...

Мне кажется, у меня в компе вирь
вроде явных признаков нету, но когда я собираю проги через masm32 у меня постоянно вылазит ошибка, что линковщик не может закрыть *.exe....

мне кажется тут чего-то не хватает...
Люди-администраторы, есть предложение на любимом ресурсе забить рубрику XML. Ясное дело, что в MSDN есть все.. (так очень любят...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru