2011-01-31 51 views
7

所以,我有一個數組是這樣的:Implode數組值?

Array 
(
    [0] => Array 
     (
      [name] => Something 
     ) 

    [1] => Array 
     (
      [name] => Something else 
     ) 

    [2] => Array 
     (
      [name] => Something else.... 
     ) 
) 

是否有內爆值轉換成字符串的簡單方法,就像這樣:

echo implode(', ', $array[index]['name']) // result: Something, Something else, Something else... 

使用循環concate的值,如:

foreach ($array as $key => $val) { 
    $string .= ', ' . $val; 
} 
$string = substr($string, 0, -2); // Needed to cut of the last ', ' 
+0

我不知道,`破滅()`? – 2011-01-31 18:24:57

+2

@Rafe凱特勒:是的,但它只適用於一維陣列。 – BoltClock 2011-01-31 18:29:19

回答

21

的最簡單方法,當你有在陣列內只有一個項目:

$values = array_map('array_pop', $array); 
$imploded = implode(',', $values); 
15

您可以使用一個共同的array_map()招「flatte n「多維陣列,然後implode()」平坦「的結果,但內部PHP仍然循環通過您的陣列,當您撥打array_map()

function get_name($i) { 
    return $i['name']; 
} 

echo implode(', ', array_map('get_name', $array)); 
+1

是的,但PHP的速度更快。謝謝。 – qwerty 2011-01-31 18:26:47

7

在PHP 5> = 5.5.0

implode(', ', array_column($array, 'name'))