PHP 中的单引号与双引号地狱 [duplicate]

Single quote vs double quote hell in PHP [duplicate]

提问人:G. Malla 提问时间:7/15/2021 最后编辑:CBroeG. Malla 更新时间:7/15/2021 访问量:38

问:

我发现自己身处“和”地狱”。不知道为什么这不起作用。希望有一些新鲜的经验。谢谢

foreach($channels as $channel)
{
    echo '<option value="'.$channel['id'].'" '.($channel['id'] == 2) ? 'selected' : ''.'>'.$channel['name'].'</option>';
}
PHP 行情

评论

1赞 CBroe 7/15/2021
帮自己一个忙,使用以下语法:php.net/manual/en/language.basic-syntax.phpmode.php
1赞 Michel 7/15/2021
试着在周围加上一些括号($channel['id'] == 2) ? 'selected' : ''
0赞 duncan 7/15/2021
此外,您不需要紧随其后的 .因此,基本上将收盘价从当前位置移动到 Michel 建议的 之后。)== 2))''($channel['id'] == 2 ? 'selected' : '')
0赞 G. Malla 7/15/2021
将 ) 移到末尾?我的天啊!是的,这行得通。谢谢米歇尔和邓肯

答:

0赞 Phil #1

这就是PHP的控制结构替代语法作为模板语法真正闪耀的地方

foreach ($channels as $channel): ?>
<option
  value="<?= htmlspecialchars($channel['id']) ?>"
  <?= $channel['id'] == 2 ? 'selected' : '' ?>
>
  <?= htmlspecialchars($channel['name']) ?>
</option>
<?php endforeach ?>