2012-02-21 95 views
3

好吧,我知道它可以像這樣做...用於在數組中匹配匹配索引字符串的PHP函數?

$Array1 = array("Hello, ", "foo", "The quick brown fox jumped "); 
$Array2 = array("World!", "bar", "the lazy dog."); 
$Array3 = array(); 
for($x = 0; $x < count($Array1); $x++) { 
    $Array3[] = $Array1[$x] . $Array2[$x]; 
} 
// returns this -> ("Hello, World", "foobar", "The quick brown fox jumped over the lazy dog.") 

但有一個本地的PHP函數嗎?就像這樣:

$Array3 = array_concat_strings($Array1, $Array2) 

我通過php.net搜查,並沒有發現什麼,但我想證實我不是失去了一些東西。

回答

5

我不認爲有這樣一個特定的原生功能,但你可以自己製作:

$array3 = array_map(function ($a, $b) { return $a . $b; }, $array1, $array2); 
+0

哦。整潔。我可能不得不使用這個。 – Yoshiyahu 2012-02-21 05:25:11

+0

需要PHP 5.3+,BTW。 5.2-的語法需要'create_function('$ a,$ b','return $ a。$ b;')''。 – deceze 2012-02-21 05:33:24

0

有沒有這樣的原生功能,但你可以做到這一點沒有第三陣列,例如

foreach($Array1 as $key=>$value) 
    $Array1[$key] .= $Array2[$key]; 

print_r($Array1); 
+0

在我使用過這個的一些情況下,我需要所有3個數組。 但是,是的,授予。 – Yoshiyahu 2012-02-21 05:22:20

+0

@Yoshiyahu所以,複製一個數組並修改它的方式:) – Cheery 2012-02-21 05:26:32