如何删除尾随逗号

时间:2016-10-17 19:46:05

标签: php comma

我正在尝试从我的php语句中删除尾随的逗号

<?php foreach( $speaker_posts as $sp ): ?>
{
    "@type" : "person",
    "name" : "<?php the_field('name_title', $sp->ID); ?>",
    "sameAs" : "<?php echo post_permalink( $sp->ID ); ?>"
},
<?php endforeach; ?>

2 个答案:

答案 0 :(得分:1)

假设您的数组格式正确(索引从零开始),您可以将其放在开头,跳过第一条记录:

<?php foreach( $speaker_posts as $idx => $sp ): ?>
<?php if ($idx) echo ","; ?>
{
    "@type" : "person",
    "name" : "<?php the_field('name_title', $sp->ID); ?>",
    "sameAs" : "<?php echo post_permalink( $sp->ID ); ?>"
}
<?php endforeach; ?>

否则你需要一个外部计数器:

<?php $idx = 0; foreach( $speaker_posts as $sp ): ?>
<?php if ($idx++) echo ","; ?>
{
    "@type" : "person",
    "name" : "<?php the_field('name_title', $sp->ID); ?>",
    "sameAs" : "<?php echo post_permalink( $sp->ID ); ?>"
}
<?php endforeach; ?>

答案 1 :(得分:1)

由于您显然正在输出JSON,请使用PHP来执行此操作。

<?php

$json = [];

foreach($speaker_posts as $sp) {
    $json[] = [
        '@type' => 'person',
        'name' => get_field('name_title', $sp->ID),
        'sameAs' => post_permalink( $sp->ID ),
    ];
}

print json_encode($json);

?>

旁注:这样可以避免潜在的不安全字符,例如字段/固定链接内容中的引号/撇号。