php parsing and whitespacing error
1 | echo"<OPTION value=$data2['product_id']>$data2['product_id']</OPTION>"; |
这给了我以下错误:
PHP Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE,
expecting T_STRING or T_VARIABLE or T_NUM_STRING
你能帮我一下吗?如何修复此错误?
1 | echo"<OPTION value=".$data2['product_id'].">".$data2['product_id']."</OPTION>"; |
我更喜欢使用
1 2 3 4 | $prodid = htmlspecialchars($data2['product_id']); printf('<OPTION value="%s">%s</OPTION>', $prodid, $prodid); |
只需使用:
1 | echo"<OPTION value=$data2[product_id]>$data2[product_id]</OPTION>"; |
或
1 | echo"<OPTION value=" . $data2['product_id'] .">" . $data2['product_id'] ."</OPTION>"; |
或
1 | echo sprintf("<OPTION value=%s>%s</OPTION>", $data2['product_id'], $data2['product_id']); // separate logic from presentation |
在引用双引号字符串内的关联数组或数值数组时,不能使用引号。
不过,我建议您在HTML属性中使用引号,并将
可以通过将变量包装在大括号内来消除错误:
1 | echo"<OPTION value={$data2['product_id']}>{$data2['product_id']}</OPTION>"; |
虽然这会更好(转义输出):
1 2 3 4 | echo '<option value="', htmlspecialchars($data2['product_id']), '">', htmlspecialchars($data2['product_id']), '</option>'; |
要么
1 | echo"<OPTION value=$data2[product_id]>$data2[product_id]</OPTION>"; |
或
1 | echo"<OPTION value={$data2['product_id']}>{$data2['product_id']}</OPTION>"; |