我正在从文件加载变量,然后我需要根据另一个页面变量回显该变量。这是代码
<?php
ob_start();
include 'states-desc/before_after_table_description.php';
ob_end_clean();
echo $alabama_after;
?>
现在,我需要用 $ state_name_after 替换echo $ alabama_after 。
好的,所以当已经加载到首页的变量是 $ state_name 时。那个州名是佛罗里达州。当我放弃 $ state_name_before ;我需要变量变为$ florida_before并回显包含文件变量$ florida_before;的内容。
如果有什么方法可以在变量中删除变量名吗?
答案 0 :(得分:2)
您是否正在寻找类似eval()
的内容?
答案 1 :(得分:2)
可能你需要“变量变量”。
我使用PHP 5.3.26测试了以下内容。
档案i.php:
<?php
$alabama_after = "montgomery";
文件p.php:
<?php
ob_start();
include "i.php";
ob_clean();
$state_name = "alabama";
$state_name_after = "{$state_name}_after";
// the following two echo the same thing:
echo $alabama_after . "\n";
echo $$state_name_after . "\n";
输出:
$ php p.php
montgomery
montgomery
另见http://www.php.net/manual/en/language.variables.variable.php
但是,我想知道为什么在使用关联数组时使用此方法。例如,i.php看起来像这样:
<?php
$after_data = array(
"alabama" => "montgomery"
);
p.php看起来像这样:
<?php
ob_start();
include "i.php";
ob_clean();
$state_name = "alabama";
$state_name_after = $after_data[$state_name];
echo $state_name_after . "\n";