当创建逗号划界字符串时,arraymap vs foreach循环



我正在为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, ',');

还是有更好的方法?还是实际上没有什么区别?

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

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

将更有效

您也可以使用implode(',',$array_of_ids)。只需确保在使用爆破之前修剪值。

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

最新更新