PHP - 如何阻止函数打印额外的 ||在最后?

标签 php javascript

在 PHP 中我有一个函数,问题是它会输出一个额外的 ||最后,我不想要。

<script type="text/javascript">
function hide_card_code() {
  var payment_source=document.getElementById('payment_source');
  if(
    <?
    forEach($result_cards as $key => $value) {
      echo "payment_source.value=='$value' || \n";
    }
    ?>
    ) {
    //do stuff...
    return true;
  }
}
</script>

它将输出以下 HTML。注意额外的 ||在最后。

<script type="text/javascript">
function hide_card_code() {
  var payment_source=document.getElementById('payment_source');
  if(
    payment_source.value=='23' || 
    payment_source.value=='24' || 
    payment_source.value=='25' || 
    ) {
    //do stuff...
    return true;
  }
}
</script>

我如何停止额外的 || ?

最佳答案

不需要循环!只需使用 json_encode 从值中创建一个 JavaScript 数组:

<script type="text/javascript">
function hide_card_code() {
    var payment_source = document.getElementById('payment_source');

    if(<?= json_encode(array_values($result_cards)) ?>.indexOf(payment_source.value) > -1) {
        // do stuff...
        return true;
    }
}
</script>

关于PHP - 如何阻止函数打印额外的 ||在最后?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9960853/

相关文章:

php - 分割 MYSQL 结果

php - 如何从命令行运行使用 Google App Engine PHP SDK 函数的应用测试

javascript - 如何用 php 数组填充 javascript?

javascript - 如何使用 javascript 制作从链接到 anchor 的滚动动画?

javascript - 如何在指令范围内设置值

php - 为什么 SQL/PHP 中的这个查询不起作用?

php - 检查字段是否已填写,否则在 php 中显示错误

javascript - 使用javascript在php中计时器达到零时不调用提交方法

javascript - document.createEelement 无法显示 utf 8 字符

javascript - 如何为带有溢出的div的滚动位置设置动画: auto?