2012-07-03 60 views
-3

我不明白为什么这个简单的代码行不起作用:为什么PHP不会替换字符串中的变量?

<?php 
$someVariable = 0; 
echo 'SomeVariable is $someVariable'; 
?> 

它打印出“SomeVariable为$ someVariable”,而不是数字0是否有我丢失的东西或一些配置选项我必须启用?

+7

因为您使用单引号而不是双引号。切换到'“SomeVariable是$ someVariable”' –

+0

这在手册中以及其他许多StackOverflow问题中都有详细说明。 –

+0

这里是[链接到文档](http://us2.php.net/manual/en/language.types.string.php)这是定义。 _“注意:与双引号和heredoc语法不同,特殊字符的变量和转义序列在单引号字符串中不会被扩展。”_ – Wiseguy

回答

8

这是因为您需要使用双引号来代替。当用单引号

<?php 
$someVariable = 0; 
echo "SomeVariable is $someVariable"; 
?> 
4

单引号的不PHP程序,您必须用双引号使用可变包围 PHP将不变量转换为它们的值。

+1

事实在大多数流行的语言中:单引号是用于文字字符串的,只有双引号允许可变插值。 –

相关问题