2017-08-30 18 views
0

我有兩個數組$ arrayOne,$ arrayTwo結合PHP數組相匹配的指數設置

$arrayOne = Array (
    [0] => 2012-01-30 
    [1] => 1999-04-20 
) 
$arrayTwo = Array (
    [0] => new 
    [1] => old 
) 

我想通過數據指標的合併陣列,並給予重點的名稱,這樣的結果應該去。像

$new = Array (
    [0] => 
    "Date" => 2012-01-30 
    "Condition" => New 
    [1] => 
    "Date" => 1999-04-20 
    "Condition" => Old 
) 

我已經試過

$newArray = array_merge($arrayOne, $arrayTwo) 

只是到陣列組合,但是這不是我一直在尋找

+0

你可能會尋找array_merge_recursive,但它只會工作,來組合值匹配的密鑰來排列,其中鍵不是整數。 – Jeremy

+0

這可能是一個想法,看看你如何定義這些變量,也許它更容易以這種方式創建變量。雖然我看到你有一個解決方案,但可能會有更好的選擇。 – Qirel

回答

0

假設數組總是匹配長度的格式,這將工作:

$newArray = array(); 

foreach($arrayOne as $i => $val) 
{ 
    $newArray[] = array(
     'Date' => $val, 
     'Condition' => ucfirst($arrayTwo[$i]) 
    ); 
} 

phpFiddle demo

0

你也可以這樣來做:

<?php 

$dates = [ 
    "2012-01-30", 
    "1999-04-20" 
]; 

$ages = [ 
    "new", 
    "old" 
]; 

$results = array_map(function($date, $age) { 
    return [ "Date" => $date, "Condition" => $age ]; 
}, $dates, $ages); 

產地:

Array 
(
    [0] => Array 
     (
      [Date] => 2012-01-30 
      [Condition] => new 
     ) 

    [1] => Array 
     (
      [Date] => 1999-04-20 
      [Condition] => old 
     ) 

)