0

如何用反引号加入包含每个值的数组数据?

在不改变阵列本身的情况下需要一条线的解决方案。

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

预期结果:

`value1`, `value2`, `value3`
4

4 回答 4

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

这会在每个连接周围使用反引号来内爆字符串(join 是内爆的别名),并在结果周围添加反引号,该结果看起来像内爆:

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

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

于 2013-04-24T13:59:48.707 回答
3

这是“便宜”的方式:

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

以及“正确”的方式(扩展到几行,但都是一行“代码”):

$joined_coldata = implode(",",array_map(function($a) {
    // perform escaping here
    return "`".$a."`";
},$coldata));
于 2013-04-24T14:01:54.763 回答
2
$coldata = array('value1','value2','value3');
$joined_coldata = "'" . join("','", $coldata) . "'";

应该做的伎俩

于 2013-04-24T14:01:07.010 回答
1

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

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

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

于 2013-04-24T13:59:44.027 回答