mcg*_*ilm 106 php csv arrays string implode
扼杀一个简单的数组
看起来像这样
$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);
Run Code Online (Sandbox Code Playgroud)
那会回来的
lastname,email,phone
Run Code Online (Sandbox Code Playgroud)
很棒,所以我可能会这样做
$array = array('lastname', 'email', 'phone');
$comma_separated = implode("','", $array);
$comma_separated = "'".$comma_separated."'";
Run Code Online (Sandbox Code Playgroud)
现在我有我想要的漂亮的csv字符串
'lastname','email','phone'
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来做到这一点,我觉得应该有一个可选参数implode我错过了什么?
Ume*_*iya 152
$array = array('lastname', 'email', 'phone');
echo "'" . implode("','", $array) . "'";
Run Code Online (Sandbox Code Playgroud)
Fel*_*ing 41
你可以使用array_map()
:
function add_quotes($str) {
return sprintf("'%s'", $str);
}
$csv = implode(',', array_map('add_quotes', $array));
Run Code Online (Sandbox Code Playgroud)
另请注意,fputcsv
如果要写入文件.
小智 23
$ids = sprintf("'%s'", implode("','", $ids ) );
Run Code Online (Sandbox Code Playgroud)
Dre*_*tto 22
不知道它是否更快,但是,您可以使用您的方法保存一行代码:
从
$array = array('lastname', 'email', 'phone');
$comma_separated = implode("','", $array);
$comma_separated = "'".$comma_separated."'";
Run Code Online (Sandbox Code Playgroud)
至:
$array = array('lastname', 'email', 'phone');
$comma_separated = "'".implode("','", $array)."'";
Run Code Online (Sandbox Code Playgroud)
如果你想使用循环,你也可以这样做:
$array = array('lastname', 'email', 'phone');
foreach($array as &$value){
$value = "'$value'";
}
$comma_separated = implode(",", $array);
Run Code Online (Sandbox Code Playgroud)
演示:http://codepad.org/O2kB4fRo
$id = array(2222,3333,4444,5555,6666);
$ids = "'".implode("','",$id)."'";
Run Code Online (Sandbox Code Playgroud)
$ids = sprintf("'%s'", implode("','", $id ) );
Run Code Online (Sandbox Code Playgroud)