php array implode用符号爆炸

时间:2014-02-04 09:28:39

标签: php arrays

我的代码是

$arr = array('item1', 'item2', 'item3');
$str = implode(',', $arr);
echo $str;

原始输出为:item1,item2,item3

但我需要这样的输出:'item1','item2','item3'

任何想法

3 个答案:

答案 0 :(得分:5)

您可以','而不是,

试试这个:

$arr = array('item1', 'item2', 'item3');
$str = "'" . implode("','", $arr) . "'";
echo $str;

答案 1 :(得分:3)

$array = array('item1', 'item2', 'item3');
$str   = implode(',', array_map('add_quotes', $array));
function add_quotes($str) {
    return sprintf("'%s'", $str);
}

echo $str;

答案 2 :(得分:0)

通过这种方式,您可以设置自己的包装器,以防需要在其他部分重用代码。

function implode_wrapper($split, $arr, $wrapper)
{
    $aux = $arr;
    foreach ($aux as $key=>$value)
    {
        $arr[$key] = $wrapper . $value . $wrapper;
    }
    $str = implode($split, $arr);

    return $str;
}

$arr = array('item1', 'item2', 'item3');
$str = implode_wrapper(",", $arr, "'");
echo $str;