我使用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>
答案 0 :(得分:7)
$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
是最后一个,它只会添加AFTER 1
)分隔符), (
将生成1), (2
,从而在(
)
和(1), (2)
结果
答案 1 :(得分:0)
如果我正确地遵循了您的问题。 你使用类似的东西
(We're passing variables by reference in this example):
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)
Here is an example( 注意:它只使用随机生成的id
)
回复您的comment:
即使使用字符串,此功能也可以使用。 See this example