2017-03-16 42 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