我使用implode
来分隔数组。我想要的是,我的id应该显示在用逗号分隔的括号中,但是在最后一个字符串之后不会有逗号。如何在最后一个字符串后面没有逗号的括号中显示它们?
<html>
<head>
</head>
<body>
<?php
mysql_connect("localhost", "usename", "password") or die(mysql_error());
mysql_select_db("dbname") or die(mysql_error());
$ids=array();
$data = mysql_query("SELECT id FROM information");
while($row = mysql_fetch_assoc($data))
{
$ids[]=$row["id"];
}
echo implode(", ", $ids);
?>
</body>
</html>
$arr = [1,2,3,4,5,6,7,8,9,10,12,13]; // array(1,2,3,4,5,6,7,8,9,10,12,13); for versions below 5.4
$str = "(".implode("), (", $arr).")";
echo $str;
在 搜索结果
(1), (2), (3), (4), (5), (6), (7), (8), (9), (10), (12), (13)
如果这是您期望的行为,您只需添加开始和结束括号作为分隔符,这将通过它分隔字符串,但将导致在开始和结束处缺乏开始和结束括号(因为它在每个元素之后添加胶水,最后一个元素除外),所以您手动添加它与连接。
以1
和2
为例,在1
之后加上分隔符), (
(因为2
是最后一个,所以只在1
之后加上)将得到1), (2
,因此加上连接的(
和)
将得到(1), (2)
如果我正确地回答了你的问题。你可以这样写
(在这个例子中我们通过引用传递变量):
foreach($ids as $i => &$id) {
$id = "({$id})";
}
$string = implode(", ", $ids);
最终会返回如下内容:
(56), (74), (88), (100), (91), (61), (43), (47), (77), (2), (78), (61), (44), (6), (74), (90), (14), (86), (80)
这里是一个例子 (注意:它只是使用随机生成的id
's)
回复你的评论:
即使是字符串,这个函数也可以工作。<<kbd> 看到这个例子/strong>