имена переменных заключенные кавычки

h0kum

Guest
имена переменных заключенные кавычки

есть строка, pattern = "$day-$mon-$year", я её описываю в INI файле, как бы шаблон. в самой программе я определил такие же переменные $day,$mon,$year". присвоил им значения. считываю строку эту из инишника, и вывожу, почему он не подставляет присвоенные значения этих переменных. я просто как то читал про ускорение РНР скриптов там было типа рекомендации выносить имена переменных из самих строк и лучше использовать ".", а мне как раз такое и надо. шаблон так задаю.
 

h0kum

Guest
кусок из INI:
[param]
...
pattern = "$day-$mon-$year"
...
[mon]
1 = "январь"
2 = "февраль"
...
------------------------------------------
скрипт:
<?php
$param=parse_ini_file("config.ini",TRUE);
$day = date("d");
$mon = $param["mon"][date("n")];
$year = date("Y");
$temp = $param["param"]["pattern"];
echo $temp;
?>
 

Demiurg

Guest
а кто обещал в ini файлах парсинг php-переменных ?
 

h0kum

Guest
а кто обещал в ini файлах парсинг php-переменных ?
я же это выражение считал в другую строку.
если сделать такое:
<?php
$test="111";
echo "test $test";
?>

то выводиться
test 111
получается:

$temp="$day-$mon-$year";
echo $temp;

выводит:
$day-$mon-$year
 

Demiurg

Guest
>$temp="$day-$mon-$year";
>echo $temp;
>выводит:
>$day-$mon-$year
ты в этом уверен ? может у тебя там одинарные кавычки ?
 

Yaguan

пилот
h0kum
ты привел неудачный пример.

Значения подставляются в переменные не при echo, а сразу, когда интерпретатор видит строковую константу в коде.

В твоем случае строка не объявляется явно, а создается функцией parse_ini_file, поэтому в ней ничего не подставляется.
 

_RVK_

Новичок
Yaguan ты прав, но тогда при выводе будет -- а у него $day-$mon-$year, тут дело в особенностях работы функции parse_ini_file()

-~{}~ 13.05.04 14:05:

Если почитать мануал то нигде не сказанно что в ini файле можно использовать переменные. Тольо константы:
Constants may also be parsed in the ini file so if you define a constant as an ini value before running parse_ini_file(), it will be integrated into the results. Only ini values are evaluated.
 

Yaguan

пилот
Yaguan ты прав, но тогда при выводе будет --
Куда, по-твоему, денутся доллары и символы после них?

Все так и должно остаться. Если напечатать выход функции file_get_contents (файл со строкой "$day-$mon-$year"), то все напечатается без купюр, как и должно быть. Иначе зачем надо было бы придумывать шаблонные движки?
 
Сверху