我有以下数组
$type=Array(
[0] => PL
[1] => LWP
[2] => Carry Forward
[3] => SL
);
我想将它转换成String。我使用implode函数来转换它。
$newarray=implode(",", $type);
但它返回如下字符串
PL,LWP,Carry Forward,SL
我想要像下面这样的字符串
("PL","LWP","Carry Forward","SL")
请帮助我...
试试这个;)
$newarray='("'.implode('","', $type).'")';
如果你想在生成的字符串中使用双引号,你可以用
implode('", "', $type)
而不是 implode(", ", $type)
来替换 implode 的胶水
这些双引号不会出现在字符串的第一个和最后一个值中。因此,在 implode 的开头添加 ("
,在结尾添加 ")
。
请参阅下面的代码了解完整语法
<?php
$type=Array(
[0] => PL
[1] => LWP
[2] => Carry Forward
[3] => SL
);
//Convert array to string with double quotes for each value
$newarray='("'.implode('", "', $type).'")';
echo $newarray;
?>
您可以尝试使用
","
胶水并添加前缀 ("
和后缀 ")
$newarray= '("' . implode('","', $type) . '")';
当您有空数组时,您还应该考虑边缘情况,因为您可能希望对其进行稍微不同的处理。在这种情况下,结果会是
("")
当前答案忽略了
$type
为空的边缘情况,返回 ("")
而不是 ()
,这可能就是您想要的。
在添加括号之前,您可能需要用引号将每个元素括起来,如下所示:
$type = array("PL", "LWP", "Carry Forward", "SL");
$quoted = array_map( function($element) { return "\"${element}\""; }, $type );
$newarray = '(' . implode(',', $quoted) . ')';
sprintf("'%s'", implode("','", $type))