如何从一种数组项中创建一个字符串?

时间:2016-05-28 12:17:47

标签: php arrays string

我有一个这样的数组:

$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'];
}

但总是在该字符串的末尾有一个,

3 个答案:

答案 0 :(得分:3)

您可以使用implodearray_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