2012-08-09 39 views
0

请看下面的代码如果变量被双引号括起来,为什么会有错误信息?

<?php 
//The array is storing a blog entry in it 
$entry = array ('title' => 'sample title', 
     'date' => 'August 9, 2011', 
     'author' => 'daNullSet', 
     'body' => 'I shall become a web developer IA',); 
echo "The title of the blog is ".$entry['title']."<br />"; 
?> 

上面的代码执行得很好,但是当我用双引号括$入门[“标题”],而在echo语句和其它字符串连接返回以下分析错误。

Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\xampp\htdocs\php-ex\test.php on line 7

你能指导一下错误的原因吗?我对编程绝对陌生。谢谢

+0

请删除'“”'后**‘我要成为一名Web开发IA’** – Jalpesh 2012-08-09 09:17:06

+0

回声“博客的标题是“”。$入门[‘标题’]。'“
'; – 2012-08-09 09:17:39

+1

@Jalpesh额外的逗号是可选的,我将_always_包含在PHP中。所以这是一个品味问题。 OP:不要只包括那些运行良好的coede,包括实际抛出错误的代码 – Evert 2012-08-09 09:21:42

回答

2

为了在字符串中使用值从一个关联数组,你需要使用"complex (curly) syntax"。这意味着什么,实际上,是你需要用它{},就像这样:

echo "The title of the blog is {$entry['title']}<br />"; 

如果尝试直接在双引号字符串用“复杂”变量不使用大括号,你会得到你报告的解析错误。

这将是非常值得您深入阅读this entire page所以你知道什么是和不允许的。

+0

我想他想把标题包在“引号”中 – 2012-08-09 10:06:59

+0

@Dagon我知道这有点不清楚 - 但这个答案是基于他报告的语法错误,并且据我所知,这是引发该特定错误消息的唯一方法。 – DaveRandom 2012-08-09 10:09:02

0
<?php 
//The array is storing a blog entry in it 
$entry = array ('title' => 'sample title', 
     'date' => 'August 9, 2011', 
     'author' => 'daNullSet', 
     'body' => 'I shall become a web developer IA'); 
echo "The title of the blog is '".$entry['title']."'<br />"; 
?> 

请试试这个

我希望它能帮助你

0

正如我所知道的那样,为什么会导致错误是因为编译器总是检查像{},(),“”,“'这样的开始和结束语法。当你开始一个语法时,你应该给它一个结束标记。如果我正确理解你的问题,你的问题是你想添加“进入”。“你可以使用\”来逃避编译器将其作为语法读取。

echo "The title of the blog is \"".$entry['title']."\"<br/>"; 
相关问题