用html字符串实现php表达式
我是PHP的初学者,我有这样的代码用html字符串实现php表达式,php,html,Php,Html,我是PHP的初学者,我有这样的代码 <?php foreach ($statuses as $status) { ?> <div class="dropdown-item"> <span data-status="<?php echo $status['id'] ?>" class="dropdown-item__sub <?php echo ($last_ticket['st
<?php foreach ($statuses as $status) { ?>
<div class="dropdown-item">
<span data-status="<?php echo $status['id'] ?>" class="dropdown-item__sub <?php echo ($last_ticket['status'] ?? '') == $status['status'] ? ' active' : '' ?>"><?php echo $status['status'] ?></span>
</div>
<?php } ?>
可以用变量写这个表达式吗?像这样
$html .= '<span data-status=' . $status['id'] . ' class=' . 'dropdown-item__sub ' . ($last_ticket['status'] ?? '') == $status['status'] ? ' active' : '' . '/>' . $status['status']. '</span>';
我尝试了不同的方法,但效果不好。不要忘记每个属性上的“双引号”
$html .= '<span data-status="' . $status['id'] . '" class="' . 'dropdown-item__sub ' . ($last_ticket['status'] ?? '') == $status['status'] ? ' active' : '' . '/>"' . $status['status']. '</span>';
我想这就是你想要的:
$html .= '<span data-status="' . $status['id'] . '" class="' . 'dropdown-item__sub ' . (($last_ticket['status'] ?? '') == $status['status'] ? ' active' : '') . '"/>' . $status['status']. '</span>';
你需要
a确保HTML属性周围有双引号,以及
b在三元运算符周围放上括号,以确保运算符的优先级符合您的需要
演示:好的,那么它有什么问题?准确地解释你想要什么,以及到底发生了什么。不起作用也不能告诉我们关于你问题的任何有用信息。这是否回答了你的问题?问题的答案是可能的,是的,你可以,但你必须做对。你还省略了HTML属性的所有双引号。ADyson,在最终结果中,我的数据状态为空,未添加类“活动”。Renz Tulagan,请用我的代码显示示例?浏览器中的结果如下。。很遗憾,不正确/OpenI在浏览器中没有看到div内部的span。@没有问题。如果答案对您有帮助,请记住将其标记为已接受,单击答案旁边的勾号,使其变为绿色-有关更多信息,请参阅。谢谢:-