【发布时间】:2011-05-15 09:36:00
【问题描述】:
我有一个类似 PHP 的数组:
$a = array('110','111','121');
我想把它转换成:
$b = " '110' , '111' , '121' ";
PHP 中有什么函数可以做到吗?我知道这可以通过对数组进行循环并将值放入 $b 来完成,但我想要一个更少代码的解决方案。
谢谢。
【问题讨论】:
我有一个类似 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,而不是 ''。请注意,您不能在 5.3 之前的 php 版本中使用此内联函数构造。您需要将回调设为一个单独的函数,并将其名称作为字符串传递给 array_reduce。
【讨论】:
【讨论】:
这是一种不同的方法
$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);
【讨论】: