如何到达有空格的变量?

How to reach variable variables which has spaces?

提问人:mirza 提问时间:9/2/2015 最后编辑:chris85mirza 更新时间:9/2/2015 访问量:84

问:

我很好奇如何访问包含空格或特殊字符的变量。

有没有办法?

<?php
$first_day = "monday";
$$first_day = "first day of the week";
echo $monday." <br />";
$days = 'saturday sunday';
$$days = 'days of the weekend';
// how to echo $days of the weekend ???
print_r(get_defined_vars());
PHP 变量

评论

8赞 mario 9/2/2015
您也可以使用它。${'variable name that you should not have in the first place'}
1赞 AbraCadaver 9/2/2015
是的,我 100% 确定有更好的方法。
0赞 mirza 9/2/2015
@mario您能否添加您的评论作为答案。它有效。谢谢,关于你的讽刺,这只是好奇心,而不是我需要在项目中使用它。
1赞 Félix Adriyel Gagnon-Grenier 9/2/2015
@motto别担心,这个讽刺是一个相对知名的双关语,并不直接针对你。尽管这真的很有趣......
1赞 mario 9/2/2015
可能的重复 你能在PHP中拥有带空格的变量吗?(但这只是字面上的答案)。我很确定这不是你真正想要的。看起来您实际上希望以相反的方式访问这些值。(无论如何,使用数组。头痛少了,真的。

答:

2赞 kittykittybangbang 9/2/2015 #1

根据 PHP 文档

有效的变量名称以字母或下划线开头,后跟任意数量的字母、数字或下划线。作为正则表达式,它将被表示为:“[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'

也就是说,严格来说,包含空格或特殊字符的变量名称不是有效的变量名称。

话虽如此,@mario的评论提供了解决方法:

echo ${'saturday sunday'}; // echoes 'days of the weekend'