2014-03-25 51 views
0

我有两个数组在PHP中有小时和分钟,我想创建该数组的所有时间组合。从两个数组创建时间

$hour =array('1','5'); 
$minut =array('30','45'); 

我与

$result=array(); 
foreach($hour as $h){ 
    foreach($minut as $m){ 
    $result[]=$h.':'.$m; 
    }   
} 

结果

$result=array('1:30','1:45','5:30','5:45'); 

是否有任何其他最简单的方式做这件事,如果不使用嵌套循环?

+2

_All组合_能否介绍一下它? –

+0

@ShankarDamodaran我更新了我的问题和结果 – Shin

+5

我会说这是解决问题的正确方法。 – Eric

回答

1

您可以结合使用嵌套array_maparray_walk_recursive

$result = array(); 
array_walk_recursive(
    array_map(
     function ($h) use ($minut) { 
      return array_map(
       function ($m) use ($h) { return $h.':'.$m; }, 
       $minut 
      ); 
     }, 
     $hour 
    ), 
    function($v, $k) use($key, &$result){ 
     array_push($result, $v); 
    } 
);