是否可以在PHP中解析常量的內容?如何在PHP中解析常量
例如,
define('WHO_AM_I', 'My name is $_SESSION['who_am_i'].'); // setup the constant string
echo eval(WHO_AM_I); // something like this -- but the eval() returns an error
請注意,我不知道_SESSION var值,直到我真正的腳本流在以後的使用常量。
謝謝。
合理修正爲希望做到這一點
我想拉「硬編碼」我的劇本,讓用戶在自己的網站配置特定分類的能力。所以當我這樣做的時候,我也想創建一個準動態常量,我想我可能在後面的腳本中解析這個常量。
如果無法完成...那麼它無法完成。
不要開槍問我這個問題。
最後的評論,以避免一切這種混亂
我的問題的目的,無關與eval()函數。我真的很後悔把它放在那裏首先。
我把eval()放在問題中,僅僅是爲了展示給stackoverflow成員,如果我在問題上做了一些準備工作,而不是問一個開放式的問題 - 嘿,給我一個解決方案,而沒有提供任何刺。所以請忽略eval()。
我想知道的是我可以以某種方式製作一個define()方法,以便在我的腳本中稍後分配值。就是這樣,就是這樣。
修訂ç
我知道我可以做以下雖然我不想做這種方式:
define('PARSE_ABLE_CONSTANT_PART_A', 'My name is ');
define('PARSE_ABLE_CONSTANT_PART_B', '.');
...後來下來腳本路...
echo PARSE_ABLE_CONSTANT_PART_A . $_SESSION['who_am_i'] . PARSE_ABLE_CONSTANT_PART_B;
我只是不想這樣做,如果我可以讓它在常量中使用嵌入式var變得更加輕鬆。
只是不討好。你究竟在做什麼?即使在horrid'eval()之前,你也有一個語法錯誤。 – PeeHaa
當你說「eval()返回錯誤」時會發生什麼錯誤? – Vulcan
你爲什麼使用eval?你想完成什麼? 'define'('WHO_AM_I','我的名字是$ _SESSION ['who_am_i']。 ]);' –