2017-08-30 56 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 
     ) 

)