在PHP中将数组转换为字符串

时间:2011-05-15 09:36:00

标签: php arrays

我有像PHP一样的数组:

$a = array('110','111','121');

我想将其转换为:

$b = " '110' , '111' , '121' ";

PHP中有没有这样的功能呢?我知道它可以通过数组循环完成并将值放在$ b中,但我想要更少的代码解决方案。

谢谢。

5 个答案:

答案 0 :(得分:8)

您确实需要所有这些空格和引号吗?您仍然可以使用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。请注意,您不能在5.3之前的php版本中使用此内联函数构造。您需要将回调作为一个单独的函数,并将其名称作为字符串传递给array_reduce。

答案 1 :(得分:4)

答案 2 :(得分:3)

这是一种不同的方法

$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();

答案 3 :(得分:2)

使用implode功能。

$b = " '" . implode("' , '", $a) . "' ";

答案 4 :(得分:0)

非常好的输出提供

$arraystring = json_encode($your_array);