我有一个这样的数组:
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
/*
Array
(
[0] => Array
(
[id] => 191
[type] => 3
[table_code] => 15
)
[1] => Array
(
[id] => 192
[type] => 3
[table_code] => 15
)
[2] => Array
(
[id] => 194
[type] => 3
[table_code] => 15
)
)
*/
我试图用逗号分隔符创建所有ID的字符串。像这样:
echo $ExpectedOutput; // 193, 192, 194
我该怎么做?
以下是我迄今为止所做的尝试:
foreach($results as $item) {
$ExpectedOutput = $item['id'];
}
但总是在该字符串的末尾有一个,
。
答案 0 :(得分:3)
您可以使用implode
和array_column
。
Array Column从该数组的所有id生成一个数组,然后implode使用分隔符从该数组生成一个字符串。您想使用,
。
echo implode(", ", array_column($results, "id")); //193, 192, 194
答案 1 :(得分:2)
试试这个
foreach($results as $item) {
if($ExpectedOutput)
$ExpectedOutput .= ',';
$ExpectedOutput .= $item['id'];
}
echo $ExpectedOutput; //193, 192, 194
答案 2 :(得分:1)
在代码中再添加一行,以便使用substr函数删除最终的逗号。
if($expectedOutput != '')
$expectedOutput = substr($expectedOutput,0,-1);
echo $expectedOutput; // 191, 192, 194