PHP中如何将字符串转换为对应的变量名
问题原因
你当前代码中的$file_profile是普通字符串类型,存储的内容为"$gion",PHP不会自动将字符串格式的变量名解析为对应变量,因此print_r只会输出字符串本身,不会输出目标数组内容。
解决方案
PHP支持两种常用方式实现字符串到变量名的转换:
- 方案1:使用可变变量语法
直接在变量名前再加一个$符号,PHP会将前一个变量的取值作为实际要访问的变量名,修改赋值代码为:$file_profile = $$name_user; - 方案2:使用全局变量数组
$GLOBALS读取
这种方式可读性更高,也能避免可变变量可能带来的命名混淆:$file_profile = $GLOBALS[$name_user];
完整运行代码
$name_user = "gion"; include "profili/".$name_user.".php"; // 以下两种方案二选一即可 // 方案1:可变变量 $file_profile = $$name_user; // 方案2:全局数组读取 // $file_profile = $GLOBALS[$name_user]; print_r($file_profile);
运行后输出结果为:
Array ( [0] => ok )
内容的提问来源于stack exchange,提问作者Borja
相关产品推荐
相关产品推荐

