join()数组用反引号标记包装每个值

时间:2013-04-24 13:58:03

标签: php

如何使用backtick符号连接包含每个值的数组数据?

不需要更改阵列本身就需要单线解决方案。

$coldata = array('value1','value2','value3');
$joined_coldata = join(', ', $coldata);

预期结果:

`value1`, `value2`, `value3`

4 个答案:

答案 0 :(得分:5)

$joined_coldata = empty($coldata)?"":"`".implode('`, `', $coldata)."`";

这会破坏每个连接周围带有反引号的字符串(join是implode的别名),并在结果周围添加反引号,这样可以解释像:

value1`, `value2`, ..., `valueN

另外检查它是否为空:然后它输出任何内容而不是两个反引号。

答案 1 :(得分:3)

这是“便宜”的方式:

$joined_coldata = "`".implode("`, `",$coldata)."`";

以及“正确”的方式(扩展为几行,但代码的所有“行”):

$joined_coldata = implode(",",array_map(function($a) {
    // perform escaping here
    return "`".$a."`";
},$coldata));

答案 2 :(得分:2)

$coldata = array('value1','value2','value3');
$joined_coldata = "'" . join("','", $coldata) . "'";

应该做的伎俩

答案 3 :(得分:1)

不漂亮,但这是最简单的方法:

$joined_coldata = '`' . join('`, `', $coldata) . '`';

确保$coldata不是空的 - 如果是,则需要单独处理以避免获得单个空元素!