[英]Implode array with comma separated string but no comma after last string
我已經使用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
)
回應您的評論 :
即使使用字符串,此功能也可以使用。 看這個例子
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.