【问题标题】:Remove comma from while statement从 while 语句中删除逗号
【发布时间】:2018-02-16 23:06:20
【问题描述】:

我正在寻找一种以这种格式输出我的 wordpress 自定义字段的方法:

  "genre": [
        "genre 1",
         "genre 2",
         "genre 3"
  ]

使用此代码:

"genre": [
  <?php if( have_rows('genres') ):
      while ( have_rows('genres') ) : the_row();
          $genre = get_sub_field('genre');
          ?>
          "<?= $genre; ?>",
    <?php
      endwhile;

  endif; ?>
  ]

但结果(逻辑上)在最后一个流派有一个逗号,这会产生错误。

"genre": [
        "genre 1",
         "genre 2",
         "genre 3",
  ]

我该如何解决这个问题?:

【问题讨论】:

  • 随便json_encode($genres);
  • 它返回:{"genre":["genre1","genre2","genre3"]} 如果我们能够设法从中剥离 { },我们就有了解决方案

标签: php wordpress loops while-loop


【解决方案1】:

我不知道 Wordpress(而且永远不会),但那是 JSON,为什么不呢:

while ( have_rows('genres') ) : the_row();
    $genres[] = get_sub_field('genre');
endwhile;

echo json_encode(['genre' => $genres]);

【讨论】:

  • 好吧,这已经非常接近了。它返回: {"genre":["genre1","genre2","genre3"]} 如果我们能够设法从中剥离 { },我们就有了解决方案
  • 这不是有效的 json,而是 echo trim(json_encode(['genre' =&gt; $genres]), '{}');
  • 我知道,但它是更多代码的一部分,现在已被谷歌结构化数据测试工具批准
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-04
  • 1970-01-01
  • 2016-08-17
  • 2021-11-24
相关资源
最近更新 更多