请看下面的代码:
<?php
//The array stores the nodes of a blog entry
$entry = array('title' => "My First Blog Entry",
'author' => "daNullSet",
'date' => "August 10, 2012",
'body' => "This is the bosy of the blog");
echo "The title of the blog entry is ".{$entry['title']};
?>
它给我发出以下错误。
解析错误:语法错误,第7行的C:\ xampp \ htdocs \ php-blog \ simple-blog \ array-test.php中的意外“{”
如果我在上面的代码中删除引入echo语句中的复杂语法的大括号,则错误消失了。请帮我调试上面的代码。 谢谢!
答案 0 :(得分:4)
删除花括号,它会正常工作。这种行为不是错误,而是您的语法不正确。简而言之,使用花括号进行复杂变量插值可以在双引号内或在heredoc中使用,而不是在外部。
更详细的解释:
使用此:
echo "The title of the blog entry is ".$entry['title'];
复杂变量(以及花括号内的表达式的插值)专门用于WITHIN双引号字符串或heredocs,其中需要正确的插值,并且可能出现歧义。这是一个干净的语法,因此不会产生歧义,这意味着不需要消除歧义。
在此处查看有关复杂变量的更多信息:http://php.net/manual/en/language.types.string.php
如果将数组值括在双引号内,则可以使用花括号来允许正确的变量插值。但是,这很好用,大多数人应该能够完美地阅读这些并理解你在做什么。
答案 1 :(得分:1)
你正在使用{
错误的方式
使用 任
echo "The title of the blog entry is ".$entry['title'];
OR
echo "The title of the blog entry is ". $entry{title};
即使你需要连接字符串。你可以在""
echo "The title of the blog entry is $entry{title}";
<强> Working DEMO 强>
答案 2 :(得分:1)
echo "The title of the blog entry is " . $entry['title'];
答案 3 :(得分:1)
我认为你想要使用的正确语法是这样的
echo "The title of the blog entry is {$entry['title']}";
答案 4 :(得分:1)
使用}
的正确方法是:
echo "The title of the blog entry is {$entry['title']}";
您也可以使用:
echo "The title of the blog entry is " . $entry['title'];