【问题标题】:PHP - span closing tag in with Ternary OperatorPHP - 使用三元运算符跨度结束标记
【发布时间】:2021-12-30 05:45:12
【问题描述】:
$json = '[{"Number":"333567","Cost":0},{"Number":"333568","Cost":7500},{"Number":"333569","Cost":7500}]';
    $options = json_decode($json, true);
    foreach ($options as $key => $value) {
        $newArray[$value['Number']]= $value['Number']." "."<br /> <span>".($value['Cost'] / 100 == 0 ? 'Free </span>': "&pound; </span>".$value['Cost'] / 100);
    }
   echo '<br>';
   echo '<br>';
   echo json_encode($newArray);
   echo '<br>';

我只需要在 Cost 免费且价格不与 Number

周围添加 span 标签

关闭标签不会被渲染...

我尝试了很多东西,但还是坚持了下来:

$newArray[$value['Number']]= $value['Number']." "."<br /> <span>".($value['Cost'] / 100 == 0 ? 'Free' : "&pound;".($value['Cost'] / 100)."</span>");

【问题讨论】:

  • 在你的尝试中,它应该是&lt;/span&gt;,而不是&lt;span&gt;
  • 对不起,我的错字,它是 之后它会导致 "333568 £75&lt;\/span&gt;"
  • 为什么这个标签是regex?有时使用if 子句比使用三元“更容易”。如果您需要使用它,请在Free 之后添加一个&lt;/span&gt;,并将您的最后一个&lt;/span&gt; 移动到&amp;pound; 之后

标签: php tags conditional-operator


【解决方案1】:
$newArray[$value['Number']]= $value['Number']." "."<br /> <span>".($value['Cost'] / 100 == 0 ? 'Free' : "&pound;".($value['Cost'] / 100))."</span>";

【讨论】:

  • 结果还是有关闭标签的问题:{"333567":"333567 Free&lt;\/span&gt;","333568":"333568 £75&lt;\/span&gt;","333569":"333569 £75&lt;\/span&gt;"}
  • 不知何故无法在测试环境上工作,但在模块上工作正常,谢谢!!!
猜你喜欢
  • 2017-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-03
  • 1970-01-01
  • 2012-02-11
  • 2016-06-26
相关资源
最近更新 更多