创建逗号分隔字符串时,arraymap vs foreach循环

时间:2017-10-03 16:02:39

标签: php

我正在为SQL查询创建逗号分隔的字符串。我想知道什么是更好的arraymap或foreach循环。以下是我的两个例子:

$group_ids = "";
foreach ($group_array as $group_id) {
    $group_ids .= $group_id . ",";
}
$group_ids = rtrim($group_ids, ',');

VS

$group_ids = "";
array_map(function ($group_id) use ($group_ids) {
    $group_ids .= $group_id . ",";
    return;
}, $group_array);
$group_ids = rtrim($group_ids, ',');

还是有更好的方法吗?或者说实际上差别不大?

2 个答案:

答案 0 :(得分:3)

$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);

http://php.net/manual/en/function.implode.php

会更有效率

答案 1 :(得分:2)

您也可以使用implode(',',$array_of_ids)。在使用内爆之前,请确保修剪您的值。

$ids = ['foo','bar','boo'];
$ids = array_map('trim',$ids);
$ids_list = implode(',',$ids);
echo $ids_list; # foo,bar,boo