如何使用backtick符号连接包含每个值的数组数据?
不需要更改阵列本身就需要单线解决方案。
$coldata = array('value1','value2','value3');
$joined_coldata = join(', ', $coldata);
预期结果:
`value1`, `value2`, `value3`
答案 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
不是空的 - 如果是,则需要单独处理以避免获得单个空元素!