2017-03-16 84 views
-4

如何给双引号每一个逗号PHP数组转换为双引号

$var = array(); 
$var[] = "a, b, c"; 
$var = explode(',', $var); 

我想展示的是:

var[] = ("a", "b", "c"); 
+0

您可能会寻找'破灭()'代替'爆炸()'? – Jer

+0

explode()方法期望第二个参数是字符串,而不是你给它的数组? – MaD

+1

是面试问题吗? –

回答

1

给出一个字符串

$mystring="a, b, c"; 

那你爆炸成阵列

$myarray = explode(', ', $mystring); 

你的阵列将有三个要素,他们每个人是一个字符串,所以这是真的,

$myarray == ['a', 'b', 'c']; 

虽然也不错,

$myarray == ["a", "b", "c"]; 

现在,如果你希望你的阵列存储串具体包括双引号,有

$myarray == ['"a"', '"b"', '"c"']; 

这需要您执行array_map,但它似乎超出了您的问题范围。

+0

@HiDayurieDave这似乎是一个正确的答案,但你的答案不是很清楚。请通过将此答案标记为已接受,或通过评论或问题编辑提供反馈(然后ping ping)来解决问题。 – mickmackusa

+0

@HiDayurieDave我看到你已经登录到SO。请通过标记接受的答案来解决此问题。这似乎是正确的。 – mickmackusa

-1

(抱歉不好英语)

$var = array(); //you declare $var as array 
$var[] = "a, b, c"; // you assign $var[0] = "a, b, c" 
$var = explode(',', $var); // call explode with $var which is an array and will give error because second param must be a string 

当你把[]以可变的结束(如$var[])你告诉PHP是$var是一个数组

当你assing的值等你这样做($var[] = "a, b, c")你告诉php存储该字符串使用阵列中的可用插槽/空间,在这种情况下是零(0)。

,如果你想存储字符串使用,作为分隔符阵,你根本:

$var = explode(",", "a, b, c"); 
+0

用逗号和空格分开以保持整齐。您的解决方案不会返回预期结果。 – mickmackusa