逗号之前准备好的字符串

时间:2015-02-08 10:15:04

标签: php preg-match

我有一个阵列;

Array
(
    [0] => Test1
    [1] => Test2
    [2] => Test3
)

现在我已经使用了Implode Function,我从中获得逗号分隔的String: Test1,Test2,Test3

现在我想在每个词之前和之后加上引号(""),例如 " Test1"," Test2"," Test3"

我怎样才能改变它以达到我想要的效果。

3 个答案:

答案 0 :(得分:2)

试试这个简单的单行:

$quotedStrings = '"' . implode('","', $myArray) . '"';

" glue"参数可以是复杂的字符串,但您只需将"放在开头和结尾。

答案 1 :(得分:1)

虽然Axel的回答对于给定的szenario来说完全没问题, 使用array_mapimplode也可以。

这具有以下优点:对每个元素的修改不限于元素的开始/结束。例如,您可以在应用implode之前将每个条目转换为小写,或执行其他更复杂的操作。

$quotedString = implode(",", array_map("myCallback", $myArray));

function myCallback($entry){
   //here you can to whatever you like to EACH element.
   return '"'.$entry.'"';
}

考虑这是一个选项

答案 2 :(得分:0)

您可以使用foreach循环创建一个新数组,然后使用implode。使用以下代码

<?php
$array = array("Test1","Test2","Test3");

$quotes = array();
foreach($array as $p){
$quotes[] = '"'.$p.'"';
}
echo implode(",",$quotes); // Outputs "Test1","Test2","Test3"
?>

另一种方法是将{9}引号中的内爆包含在内,然后在引号中隐藏逗号""

,

希望这有助于你