function news5($newsarray) {
$str = '';
foreach($newsarray as $value) {
$str.= '<h3>$value['title']</h3>';}
return $str;
}
echo news5($newsarray);
$ newsarray是一个二维数组,我想在h3中显示每个子数组的第一个值,但它不起作用,没有h3标记一切都很好,但我希望它在h3中。请帮助!
它说&#34;解析错误:语法错误,意外&#39;标题&#39; (T_STRING)在第7行和第34行的C:\ xampp \ htdocs \ news \ news.php中;
答案 0 :(得分:5)
$str.= '<h3>$value['title']</h3>';
用单引号括起来的字符串不评估变量引用,如documentation中所述;你还没有正确地打开和关闭单引号,导致解析错误;双引号或concatenation可以解决这个问题,但您还需要记住,必须正确转义值才能在HTML中使用。
$str .= '<h3>' . htmlspecialchars($value['title'], ENT_QUOTES, 'UTF-8') . '</h3>';
另请参阅:htmlspecialchars()
答案 1 :(得分:-1)
试试这个会起作用:
function news5($newsarray) {
$str = '';
foreach($newsarray as $value)
{
$str.= "<h3>".$value['title']."</h3>";
}
return $str;
}
echo news5($newsarray);
某些字符在HTML中具有特殊意义,如果要保留其含义,则应由HTML实体表示。此函数返回一个包含这些转换的字符串。如果您需要翻译具有关联命名实体的所有输入子字符串,请改用htmlentities()。
答案 2 :(得分:-2)
您正在使用未转义的单引号结束字符串。所以你的字符串就是
'<h3>$value['
然后出现普通title
。这导致了unexpected {string}
。你要么必须逃避你的报价
'<h3>$value[\'title\']</h3>'
或在语句的一部分中使用不同的(双)引号 - 数组键或周围的引号。
您将面临的另一个问题:单引号中的变量无法评估。所以你的回应结果将是:
$value['title']
这不是你想要的(你想要那个数组的内容):
$str .= "<h3>{$value['title']}</h3>";
{}
是可选的。
答案 3 :(得分:-2)
使用此功能可能有助"<h3>$value['val']</h3>"
答案 4 :(得分:-2)
$str .= '<h3>';
$str .= $value['title'];
$str .= '</h3>';