如何用逗号分隔数组但不想要最后一个逗号

时间:2017-04-09 08:10:27

标签: php arrays foreach

我想要以逗号和链接的形式展示专辑的艺术家。艺术家的名字保存在数组中。 代码将解释更多。

resize

我得到以下结果。

<?php $Artist_Name = array("artist1", "artist2","artist3"); ?> <p class="style18"><b>Artists</b>: <span class="style24"> <?php foreach ($Artist_Name as $_value) { $Value_new = str_replace(' ', '-', $_value); ?> <a href= "<?=BASE_PATH?>artist/<?=$Value_new?>"><?=$_value?></a>,

我只想杀死最后一个逗号和。空间。 提前致谢。 任何帮助都会很棒:)

3 个答案:

答案 0 :(得分:1)

使用implode(', ', $Artist_Name)(有关详细信息,请参阅implode

<强>更新

对于更复杂的情况,array_map可用于每个元素的处理:

$Artist_Name = array("artist1", "artist2","artist3");
$artist_links = array_map(
    function($value) {
        return '<a href="/' . $value . '">' . $value . '</a>';
    },
    $Artist_Name
);
echo implode(', ', $artist_links);

答案 1 :(得分:0)

此问题已被问及herehere。但是,有几种方法可以做到这一点,例如:

class User < ApplicationRecord

  has_many :activities

  class User < ActiveRecord::Base
编辑:看过这个答案的评论后,很明显你不想转换成字符串。因此,您可以在foreach中使用计数器,并检查最后一个计数器何时出现。如果是,请不要添加$output = rtrim($string, ','); 。希望this帮助

答案 2 :(得分:0)

要从字符串中删除最后一个逗号,可以使用

下面的代码
$lastCommaRemoved = rtrim($Value_new, ',');

<强>更新 原始代码有很多错误,这里修复了一个

    <?php
$Artist_Name = array("artist1", "artist2","artist3");
?>
<p class="style18"><b>Artists</b>:
<?php
foreach ($Artist_Name as $_value) {
$Value_new = str_replace(' ', '-', $_value);
    echo '<span class="style24"><a href= "'.BASE_PATH.'artist/'.$Value_new.'">'.$_value.'</a></span>';
}
?>

我还应该补充一点,下面的代码什么都不做

$Value_new = str_replace(' ', '-', $_value);

因为$ _value变量值

中没有空格