如何内爆逗号分隔的外部字符串

How to implode comma separated outside string

我有数组

( [0] => 1 [1] => 2 [2] => 3 )

我想做到:

'1','2','3'

如何操作 我曾尝试使用内爆,但结果是:

'1,2,3'

有人能帮帮我吗?谢谢

您只需将单引号添加到您的 implode 粘合字符串中,并在结果字符串的外部:

$array = [1, 2, 3];
echo "'" . implode("','", $array) . "'";

输出:

'1','2','3'

无论您的数组值是字符串还是数字,这都有效,例如

$array = ['1', '2', '3'];
echo "'" . implode("','", $array) . "'";

输出:

'1','2','3'

Demo on 3v4l.org

试试这个:

$array = array('1', '2', '3');
$comma_separated = "'" . implode ( "', '", $array ) . "'";
echo $comma_separated;

如果结果是一个数组(如您在评论中所述),那么您可以使用 array_map 将整数数组转换为字符串数组:

$arr = [1, 2, 3];
var_dump(array_map('strval', $arr));

这将产生一个字符串数组:

['1', '2', '3']

sprintf() and array_map() 适用于这种情况:

$arr = ['1', '2', '3'];
$str = implode(', ', array_map(function($val){return sprintf("'%s'", $val);}, $arr));
echo $str; //'1', '2', '3'