2017-10-18 1 views
0

ich habe 3 ArrayPHP-Array mehrdimensionales Array von einem anderen Array Merging

Array(
[0] => 0.123 
[1] => 0.221) 

Array(
[0] => abcd 
[1] => defg) 

Array(
[0] => 10000 
[1] => 20000) 

Ist es möglich, Schlüssel hinzuzufügen und sie zu einem mehrdimensionalen Array in diesem Format fusionieren?

Array(
[0] => Array(
    [si] => 0.123 
    [ri] => abcd 
    [pr] => 10000) 
[1] = > Array(
    [si] => 0,221 
    [ri] => defg 
    [pr] => 20000) 

Antwort

1

Short Lösung mit array_map und array_combine Funktionen:

$arr1 = [ 0.123, 0.221 ]; 
$arr2 = [ 'abcd', 'defg' ]; 
$arr3 = [ 10000, 20000 ]; 

$result = array_map(function($v){ 
    return array_combine(['si', 'ri', 'pr'], $v); 
}, array_map(null, $arr1, $arr2, $arr3)); 

print_r($result); 

Der Ausgang:

Array 
(
    [0] => Array 
     (
      [si] => 0.123 
      [ri] => abcd 
      [pr] => 10000 
     ) 

    [1] => Array 
     (
      [si] => 0.221 
      [ri] => defg 
      [pr] => 20000 
     ) 
) 

http://php.net/manual/en/function.array-map.php

Verwandte Themen