我有一個數組;準備逗號前的字符串
Array
(
[0] => Test1
[1] => Test2
[2] => Test3
)
現在我已經使用了內爆功能從中我得到了逗號分隔字符串: 的Test1,Test2的,Test3的
現在我想之前和之後把一個引號(「」)每一個詞,例如 「測試1」,「測試2」,「測試3」
我怎麼能改變它工作我想要的。
我有一個數組;準備逗號前的字符串
Array
(
[0] => Test1
[1] => Test2
[2] => Test3
)
現在我已經使用了內爆功能從中我得到了逗號分隔字符串: 的Test1,Test2的,Test3的
現在我想之前和之後把一個引號(「」)每一個詞,例如 「測試1」,「測試2」,「測試3」
我怎麼能改變它工作我想要的。
你可以使用foreach循環來創建一個新的數組,然後使用implode。使用下面的代碼
<?php
$array = array("Test1","Test2","Test3");
$quotes = array();
foreach($array as $p){
$quotes[] = '"'.$p.'"';
}
echo implode(",",$quotes); // Outputs "Test1","Test2","Test3"
?>
的另一種方式,你可以通過封閉在""
引號內爆做出來,然後爆逗號,
引號。
<?php
$array = array("Test1","Test2","Test3");
echo '"'.implode('","',$array).'"'; // Outputs "Test1","Test2","Test3"
?>
希望這有助於你
試試這個簡單的一行:
$quotedStrings = '"' . implode('","', $myArray) . '"';
的「glue
」參數可以是一個複雜的字符串,雖然你只有把"
在始末。
1 upvote很好的方式來做到這一點 – user3647254 2015-02-08 10:23:57
Axel的答案對於給定的szenario來說是完全正確的, 使用array_map
以及implode
也可以。
這樣做的好處是,對每個元素的修改不限於元素的開始/結束。例如,在應用implode
之前,您也可以將每個條目轉爲小寫,或執行其他更復雜的操作。
$quotedString = implode(",", array_map("myCallback", $myArray));
function myCallback($entry){
//here you can to whatever you like to EACH element.
return '"'.$entry.'"';
}
認爲這是一個選項
一個更好的方法來做到這一點+ 1 – user3647254 2015-02-08 10:31:52
爲什麼downvote這個答案它的工作原理 – user3647254 2015-02-08 10:23:24
它的工作原理,「-1」,是爲要求「你必須」 - 原因還有其他,更簡單,選項。 – dognose 2015-02-08 10:24:06
@ dognose編輯我的回答請刪除downvote請 – user3647254 2015-02-08 10:24:50