Arn*_*rno 1 php variables space names
我在PHP中搞乱变量变量,所以我提出了代码:
$a = 'two words';
$$a = 'something';
echo $$a; // outputs something
echo "$two words"; // error since $two doesn't exist
Run Code Online (Sandbox Code Playgroud)
我只是试图理解如果我们有一个带空格的字符串,PHP将如何表现,并尝试从中创建一个变量变量.它似乎仍然存储变量与空格,因为我做了var_dump($GLOBALS);,我有这个:
'a' => string 'two words' (length=9)
'two words' => string 'something' (length=9)
Run Code Online (Sandbox Code Playgroud)
我可以通过$GLOBALS['two words']出现两个问题来访问"两个单词"变量:
$吗?我已经阅读过你需要用大括号({$two words}或者我假设${two words})得到整个变量的地方,但这不起作用. 你真的可以在PHP中使用带空格的变量吗?我尝试使用包含空格的键创建一个关联数组,并且工作正常:
$a['a space'] = 1;
echo $a['a space']; // 1
Run Code Online (Sandbox Code Playgroud)echo "$two words"; // error since $two doesn't exist
Run Code Online (Sandbox Code Playgroud)
这个问题是字符串插值规则将停止在变量名中无效的第一个字符.它并不特定于变量变量,它特定于字符串插值.
这样做:
echo ${'two words'};
Run Code Online (Sandbox Code Playgroud)
但由于这是相当尴尬的,并且在有效变量名称的所有情况下都不起作用(例如字符串插值),所以你真的不应该这样做.
| 归档时间: |
|
| 查看次数: |
4006 次 |
| 最近记录: |