1

我有一个数组 $skills。我想制作一个逗号分隔的所有skills.

我以为我可以用数组内爆来做到这一点,但看起来我必须使用 foreach() 并附加到一个字符串。有没有办法只用数组内爆来做到这一点?

[skills] => Array
        (
            [0] => Array
                (
                    [email] => don.pinkus@gmail.com
                    [skill] => Statistics
                )

            [1] => Array
                (
                    [email] => don.pinkus@gmail.com
                    [skill] => Adobe Creative Suite
                )

            [2] => Array
                (
                    [email] => don.pinkus@gmail.com
                    [skill] => HTML + CSS
                )

            [3] => Array
                (
                    [email] => don.pinkus@gmail.com
                    [skill] => Web Analytics
                )
4

2 回答 2

3

怎么样:

implode(",", array_column($skills, 'skill'));
于 2013-08-14T22:20:38.667 回答
0

对于 PHP 5.5,您可以使用 Lyn 的解决方案。对于之前的版本(5.3 和 5.4):

implode(', ', array_map(function($a) {return $a['skill'];}, $skills));

将其分解为多行以使其更易于阅读:

$array = array_map(
    function($a) {
        return $a['skill'];
    }, $skills);
echo implode(', ', $array);

这是 PHP 5.3 之前的解决方案(可能是最有效的):

$out = '';
foreach ($skills as $val){
    $out .= $val['skill'].', ';
}
echo rtrim($out, ', ');
于 2013-08-15T13:00:03.870 回答