Как вывести запятую за пределы строки - PullRequest
0 голосов
/ 11 февраля 2019

У меня есть Array

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

Я хочу сделать это:

'1','2','3'

Как это сделать, я пробовал с помощью implode, но результат:

'1,2,3'

Кто-нибудь может мне помочь, пожалуйста?Благодаря.

Ответы [ 4 ]

0 голосов
/ 11 февраля 2019

sprintf () и array_map () будут работать в этом случае:

$arr = ['1', '2', '3'];
$str = implode(', ', array_map(function($val){return sprintf("'%s'", $val);}, $arr));
echo $str; //'1', '2', '3'
0 голосов
/ 11 февраля 2019

попробуйте это:

$array = array('1', '2', '3');
$comma_separated = "'" . implode ( "', '", $array ) . "'";
echo $comma_separated;
0 голосов
/ 11 февраля 2019

Если результатом является массив (как вы указали в комментариях), вы можете использовать array_map для преобразования массива целых чисел в массив строк:

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

Это приведет кмассив строк:

['1', '2', '3']
0 голосов
/ 11 февраля 2019

Вам просто нужно добавить одинарные кавычки в вашу клейкую строку implode и на внешней стороне строки результата:

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

Вывод:

'1','2','3'

Это будет работать независимо от того, являются ли значения вашего массива строками или числами, например:

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

Вывод:

'1','2','3'

Демонстрация на 3v4l.org

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...