如果变量用双引号括起来,为什么会出现错误消息?

时间:2012-08-09 09:12:22

标签: php

查看下面的代码

<?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语句中与其他字符串连接时将$ entry ['title']括在双引号中时,它会返回以下解析错误。

  

解析错误:第7行的C:\ xampp \ htdocs \ php-ex \ test.php中的语法错误,意外的''(T_ENCAPSED_AND_WHITESPACE),期望标识符(T_STRING)或变量(T_VARIABLE)或数字(T_NUM_STRING)< / p>

你能指导一下错误的原因吗?我是编程的新手。谢谢

3 个答案:

答案 0 :(得分:2)

要在字符串中使用关联数组中的值,您需要使用"complex (curly) syntax"。实际上,这意味着您需要将其包装在{}中,如下所示:

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

如果您尝试在不使用大括号的情况下直接在双引号字符串中使用“复杂”变量,则会收到您报告的解析错误。

完全值得你仔细阅读this entire page所以你知道什么是不允许的。

答案 1 :(得分: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 />";
?>

请试试这个

我希望它可以帮到你

答案 2 :(得分:0)

正如我所知,引起错误的原因是因为编译器总是检查开始和结束语法,如{},(),“”,''。当您启动语法时,您应该给它一个结束标记。如果我正确理解你的问题,你的问题是你想要添加“into”“。你可以使用\”来逃避编译器将其作为语法阅读。

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