将foreach循环结果作为关键php

时间:2012-06-12 21:46:00

标签: php arrays

我正在试图弄清楚是否有可能在一个数组中循环一个foreach循环,并且循环结果应该是新数组的键,就像这样,

$names = array('joe', 'piter', 'jack');
$dates = array('06/22/1987', '05/25/1988', '08/26/1990');
$arr = array();
foreach($names as $v){
     $arr[] = $v;
}
$arr2 = array($arr => $dates);
print_r($arr2);

我该怎么做?

Thnaks的家伙。

2 个答案:

答案 0 :(得分:6)

不需要foreach循环来实现这一点。只需使用array_combine

$names = array('joe', 'piter', 'jack');
$dates = array('06/22/1987', '05/25/1988', '08/26/1990');
$arr2 = array_combine($names, $dates);

print_r($arr2)输出:

Array
(
    [joe] => 06/22/1987
    [piter] => 05/25/1988
    [jack] => 08/26/1990
)

在这种情况下,您不需要这样做,但如果您想知道如何在循环中使用$v作为$arr2的键,您可以在循环中执行赋值:

$arr2[$v] = ...;

答案 1 :(得分:2)

嗯,看了@ ascii-lime的答案(这要好得多)我输入之后,但是作为替代方案,我猜...

$names = array('joe', 'piter', 'jack');
$dates = array('06/22/1987', '05/25/1988', '08/26/1990');
$arr = array();
$i=0;
foreach($names as $v){
    $arr[$v] = $dates[$i];
    ++$i;
}
print_r($arr);