我有以下数组
$type=Array(
[0] => PL
[1] => LWP
[2] => Carry Forward
[3] => SL
);
我想将它转换为String.I使用implode函数转换它。
$newarray=implode(",", $type);
但它会像下面那样重新加入字符串
PL,LWP,Carry Forward,SL
我想要像下面的字符串
("PL","LWP","Carry Forward","SL")
请帮帮我......
答案 0 :(得分:1)
试试这个;)
$newarray='("'.implode('","', $type).'")';
答案 1 :(得分:1)
您可以尝试使用","
粘合剂并添加前缀("
和后缀")
$newarray= '("' . implode('","', $type) . '")';
当你有空数组时,你也应该考虑边缘情况,因为你可能想稍微处理它。在这种情况下,它会产生("")
答案 2 :(得分:1)
如果你想在生成的字符串中使用双引号,你可以用implode('", "', $type)
而不是implode(", ", $type)
替换内爆的粘合剂
这些双引号不会出现在字符串的第一个和最后一个值中。因此,在开头添加("
,在内爆结束时添加")
。
有关完整语法,请参阅下面的代码
<?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;
?>
答案 3 :(得分:0)
就目前而言,你的问题是无法回答的。您正在尝试创建一个机器可解析的数据表示,而不提供有关如何解析它的足够信息。
e.g。如果一个元素已经包含双引号怎么办 - 你需要逃避它。但是你使用哪种方法进行转义?
e.g。引用数值可能会影响消费者对数据的解释(尽管您的示例不包括数字数据)。
答案 4 :(得分:0)
当前答案会忽略$type
为空的边缘情况,方法是返回("")
而不是()
,这可能是您想要的。
在添加括号之前,您可能希望用引号括住每个元素:
$type = array("PL", "LWP", "Carry Forward", "SL");
$quoted = array_map( function($element) { return "\"${element}\""; }, $type );
$newarray = '(' . implode(',', $quoted) . ')';