我有一个数组;准备逗号前的字符串
Array
(
[0] => Test1
[1] => Test2
[2] => Test3
)
现在我已经使用了内爆功能从中我得到了逗号分隔字符串: 的Test1,Test2的,Test3的
现在我想之前和之后把一个引号(“”)每一个词,例如 “测试1”,“测试2”,“测试3”
我怎么能改变它工作我想要的。
我有一个数组;准备逗号前的字符串
Array
(
[0] => Test1
[1] => Test2
[2] => Test3
)
现在我已经使用了内爆功能从中我得到了逗号分隔字符串: 的Test1,Test2的,Test3的
现在我想之前和之后把一个引号(“”)每一个词,例如 “测试1”,“测试2”,“测试3”
我怎么能改变它工作我想要的。
你可以使用foreach循环来创建一个新的数组,然后使用implode。使用下面的代码
<?php
$array = array("Test1","Test2","Test3");
$quotes = array();
foreach($array as $p){
$quotes[] = '"'.$p.'"';
}
echo implode(",",$quotes); // Outputs "Test1","Test2","Test3"
?>
的另一种方式,你可以通过封闭在""
引号内爆做出来,然后爆逗号,
引号。
<?php
$array = array("Test1","Test2","Test3");
echo '"'.implode('","',$array).'"'; // Outputs "Test1","Test2","Test3"
?>
希望这有助于你
试试这个简单的一行:
$quotedStrings = '"' . implode('","', $myArray) . '"';
的“glue
”参数可以是一个复杂的字符串,虽然你只有把"
在始末。
1 upvote很好的方式来做到这一点 – user3647254 2015-02-08 10:23:57
Axel的答案对于给定的szenario来说是完全正确的, 使用array_map
以及implode
也可以。
这样做的好处是,对每个元素的修改不限于元素的开始/结束。例如,在应用implode
之前,您也可以将每个条目转为小写,或执行其他更复杂的操作。
$quotedString = implode(",", array_map("myCallback", $myArray));
function myCallback($entry){
//here you can to whatever you like to EACH element.
return '"'.$entry.'"';
}
认为这是一个选项
一个更好的方法来做到这一点+ 1 – user3647254 2015-02-08 10:31:52
为什么downvote这个答案它的工作原理 – user3647254 2015-02-08 10:23:24
它的工作原理,“-1”,是为要求“你必须” - 原因还有其他,更简单,选项。 – dognose 2015-02-08 10:24:06
@ dognose编辑我的回答请删除downvote请 – user3647254 2015-02-08 10:24:50