2017-02-10 11 views
0

Ich habe 2 Arrays:PHP kombinieren Schlüsselwert Array und regelmäßige Anordnung

array1:

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

und array2:

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

Ich brauche ein Ergebnis wie folgt aus:

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

dh wie die arra zu kombinieren ys. Wie bekomme ich das?

+1

ur Array ist nicht korrekt – rahulsm

+0

Bitte besuchen Sie, wie man fragt: http://StackOverflow.com/Help/how-to-ask – Bobot

+0

Streng genommen, das ist nicht wirklich die Arrays kombinieren, da es keine echte Korrelation zwischen ihnen gibt. (Es gibt nichts, das die BBBBBBBBB und die 550 verbindet). Man könnte aber einfach eines der Arrays durchlaufen und das entsprechende Gegenstück aus dem anderen Array holen (da das erste Array über sequentielle numerische Schlüssel verfügt, wäre es einfacher, das zweite zu wiederholen, jedes Mal einen Zähler zu erhöhen und den Inhalt abzurufen aus dem ersten Array basierend auf diesem Zähler) – junkfoodjunkie

Antwort

2

nehme an, Sie zwei Arrays die gleiche Länge haben,

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

Das gewünschte Ergebnis ist nicht klar ... wenn jeder Zeilen nur eine Zeichenfolge sind, sollte diese Arbeit:

$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); 
Verwandte Themen