2017-02-10 60 views
0

我有2列:PHP結合鍵值陣列和規則排列

陣列1:

[0]=> 
string(10) "AAAAAAAAAAA" 
[1]=> 
string(10) "BBBBBBBBBBB" 
... 

和數組2:

[0]=> 
float(0) 
[550]=> 
float(55) 
... 

我需要這樣一個結果:

"AAAAAAAAAAA" : 0 : 0 
"BBBBBBBBBBB" : 550: 55 
    ... 

即如何組合陣列YS。我如何得到這個?

+1

烏爾陣列是不正確的 – rahulsm

+0

請訪問如何問:http://stackoverflow.com/help/how-to-ask – Bobot

+0

嚴格地說,這並不是真正的數組合,因爲它們之間沒有真正的相關性。 (沒有什麼將BBBBBBBBB和550連接起來)。但是,您可以循環訪問其中一個數組,並從另一個數組中獲取匹配的對應數據(因爲第一個數組具有順序數字鍵,因此循環第二個數組會更容易,每次增加一個計數器並獲取內容從基於該計數器的第一個數組開始) – junkfoodjunkie

回答

2

假設兩個數組的長度相同,

$keys = array_keys($array1); 
$values = []; 
foreach($array2 as $k=>$v) 
{ 
    $values[] = $k.':'.$v; 
} 
$result = array_combine($keys, $values); 
1

你想要的是不明確的...如果每個行只是一個字符串,這應該工作的結果是:

$a = [ 
    0 => "AAAAAAAAAAA", 
    1 => "BBBBBBBBBBB" 
]; 

$b = [ 
    0 => (float) 0, 
    550 => (float) 55 
]; 

$result = array_map(
    function($v1, $v2, $v3) { 
     return "$v1 : $v2 : $v3"; 
    }, 
    $a, array_keys($b), $b 
); 

var_dump($result);