У меня есть массив, как в PHP:
$a = array('110','111','121');
Я хочу преобразовать его в:
$b = " '110' , '111' , '121' ";
есть ли какая-либо функция в PHP, которая делает это? Я знаю, что это можно сделать с помощью цикла по массиву и поместить значение в $ b, но я хочу меньше кода.
Спасибо.
Вам нужны все эти пробелы и цитаты? Вы все еще можете использовать implode
, хотя array_reduce
может быть приятнее
$a = array(1, 2, 3, 4); $x = "'".implode("' , '", $a)."'";
array_reduce
:
$x = array_reduce($a, function($b, $c){return ($b===null?'':$b.' , ')."'".$c."'";});
Преимущество array_reduce
заключается в том, что вы получите NULL для пустого массива вместо ''
. Обратите внимание: вы не можете использовать эту встроенную конструкцию функции в версиях php до 5.3. Вам нужно будет сделать обратный вызов отдельной функцией и передать свое имя в виде строки в array_reduce.
да, проверить implode – http://php.net/manual/en/function.implode.php
ну это другой подход
$arraystring = print_r($your_array, true);
и если вы хотите распечатать его в другом месте,
$arraystring = '<pre>'.print_r($your_array, true).'</pre>';
или вы можете смешивать множество массивов и варов, если вы это сделаете
ob_start(); print_r($var1); print_r($arr1); echo "blah blah"; print_r($var2); print_r($var1); $your_string_var = ob_get_clean();
Используйте функцию implode .
$b = " '" . implode("' , '", $a) . "' ";
Очень хороший выход дает
$arraystring = json_encode($your_array);