0

当我连接 PHP 变量以形成一个逗号分隔的列表时,它会添加一个逗号,无论该变量是否具有值。

将变量连接到逗号分隔列表时如何删除不必要的逗号?

try {
    $stmt = $conn->prepare("SELECT * FROM customer_info WHERE user_id = :user_id");
    $stmt->bindValue(':user_id', $user_id);
    $stmt->execute();
}
catch (PDOException $e) {
    echo $e->getMessage();
}
$search = array('_', ',', 'Null');
$replace = array(' ', ', ', '');
$rows = str_replace($search, $replace, $row);

$merged_likes = $rows['items_like'] . ",  " . $rows['first_like'] . ",  " . $rows['second_like'] . ",  " . $rows['third_like'];
echo $merged_likes;
4

1 回答 1

2

请参阅我对您其他问题的回答。将项目放入数组后,只需用 . 过滤掉任何空白的内容array_filter()。例子:

$likes = array_filter($likes, function($item)
{
    return !empty($item);
});

echo implode(', ', $likes);

此语法仅适用于 PHP >=5.3.0。有关详细信息,请参阅匿名函数

编辑

正如 KingCrunch 在下面提到的,如果所有空白项的计算结果为false(例如,一个空字符串),您可以简单地省略回调函数:

$likes = array_filter($likes);
echo implode(', ', $likes);

// or more succinctly

echo implode(', ', array_filter($likes));
于 2013-02-23T21:29:18.660 回答