如何在php中避开双引号/“它不起作用
我花了数小时试图使此代码正常工作:如何在php中避开双引号/“它不起作用,php,html,syntax,double-quotes,backslash,Php,Html,Syntax,Double Quotes,Backslash,我花了数小时试图使此代码正常工作: <?php foreach ($stocks as $stock):?> <option value="<?= $stock(\"symbol\") ?>" > <?= $stock("symbol") ?></option> <?php endforeach ?> 运行此代码时,我收到一个错误: 分析错误:语法错误,意外的“symbol\?>” T_常量\u已装箱的\u字
<?php foreach ($stocks as $stock):?>
<option value="<?= $stock(\"symbol\") ?>" > <?= $stock("symbol") ?></option>
<?php endforeach ?>
运行此代码时,我收到一个错误:
分析错误:语法错误,意外的“symbol\?>”
T_常量\u已装箱的\u字符串,中应为标识符T_字符串
/第7行的home/jharvard/vhosts/pset7/templates/sell_form.php
请帮助!试试这个,只需更改您的报价:
<?php foreach ($stocks as $stock):?>
<option value="<?= $stock('symbol'); ?>" > <?= $stock("symbol"); ?></option>
<?php endforeach ?>
注意:未经测试的建议。将其更改为:
<option value="<?= $stock("symbol") ?>" > <?= $stock("symbol") ?></option>
您正在转义不需要转义的引号
<?php foreach ($stocks as $stock):?>
<option value="<?= $stock("\"symbol\"") ?>" > <?= $stock("symbol") ?></option>
<?php endforeach ?>
您可以使用单引号,也可以使用上述代码。这里根本不需要转义引号。 \symbol\在此处被视为常量,但没有具有该名称的常量
周围的HTML引号仅由浏览器计算,对PHP解释器不起作用。PHP将只计算其中的内容,而忽略周围的内容,浏览器的HTML解析将永远看不到PHP代码中的引号,但只会生成$stocksymbol字符串,我不确定是什么您正在尝试这样做,但由于您使用了foreach,我猜这是一个多维数组 试试这个:
<?php
$stocks = array(
array(
"symbol" => "value2"
),
array(
"symbol" => "value2"
)
);
?>
<select>
<?php foreach ($stocks as $stock):?>
<option value="<?= $stock["symbol"] ?>"> <?= $stock["symbol"] ?></option>
<?php endforeach ?>
</select>
编辑:如果要显示双引号,请使用以下命令:
<option value="<?= $stock["symbol"] ?>">"<?= $stock["symbol"] ?>"</option>
你根本不应该逃避那些引用…很好的观点,谢谢你的投入,但答案应该回答被问到的问题。因为这并不能直接回答问题,最好是作为一个评论。仅供将来参考…:没有足够的声誉发表评论,所以我不得不断言这是他想要的,霍普这会解决问题的。啊……我忘了声誉问题。明白了。