PHP语法检查:解析错误:语法错误,意外

时间:2016-01-25 09:29:41

标签: php syntax

无法用我的代码解决问题。这是一个语法错误,我只是无法发现它 在这里查看 - http://phpcodechecker.com/,并将其作为答案 -

  

解析错误:语法错误,意外''。$ val [''   (T_CONSTANT_ENCAPSED_STRING),期待','或';'在你的代码中   第10行

这是代码 -

<?php
		include "products.php";

		foreach($products as $key=>$val)
		{
			echo '<div style="float:right;text-align:center;margin:20px;">';
			echo '<IMG src="img/'.$val['category'].'/'.$val['image'].'" WIDTH="94" HEIGHT="94" BORDER="0" ALT=""><br />';
			echo $val['name'].'<br />';
			echo '₪ '.$val['price'].'<br />';
			echo '<a onmousedown="parent.AddItemToCart(''.$val['id'].'' ,''.$val['name'].'','img/'.$val['category'].'/'.$val['image'].'','.$val['price'].'')"></a><br/>';
			echo '</div>';
		}
?>

4 个答案:

答案 0 :(得分:0)

未转义的'会在您想要之前终止字符串。试试:

echo '<a onmousedown="parent.AddItemToCart(\''.$val['id'].'\' ,\''.$val['name'].'\','img/'.$val['category'].'/'.$val['image'].'','.$val['price'].'\')"></a><br/>';

或使用双引号:

echo "<a onmousedown=\"parent.AddItemToCart('".$val['id']."' ,'".$val['name']."','img/".$val['category']."/".$val['image']."','.$val['price']."')\"></a><br/>';

原因:发生这种情况的原因是您使用'来开始和结束字符串,但您的字符串也包含'字符。这样,字符串在您输入'的位置结束,并被以下符号混淆。为了防止这种情况,您可以使用反斜杠\来转义符号,如下所示:'some string containing a \' character'

答案 1 :(得分:0)

替换

echo '<a onmousedown="parent.AddItemToCart(''.$val['id'].'' ,''.$val['name'].'','img/'.$val['category'].'/'.$val['image'].'','.$val['price'].'')"></a><br/>';

$imgtag = 'img/'.$val['category'].'/'.$val['image'];
echo '<a onmousedown="parent.AddItemToCart(\''.$val['id'].'\',\''.$val['name'].'\',\''.$imgtag.'\',\''.$val['price'].'\')"></a><br/>';

答案 2 :(得分:0)

变化:

echo '<a onmousedown="parent.AddItemToCart(''.$val['id'].'' ,''.$val['name'].'','img/'.$val['category'].'/'.$val['image'].'','.$val['price'].'')"></a><br/>'; 

为此:

echo "<a onmousedown='parent.AddItemToCart(".$val['id']. ',' .$val['name']. ',img/'.$val['category'].'/'.$val['image'].','.$val['price'].")></a><br/>";

答案 3 :(得分:0)

使用给定代码更改代码

Key                                    Values 

Basket1                               apple_green
                                      mango_red
Basket2                               orange_orange
                                      mango_green
basket100                             apple_red
                                      orange_green