3

我试图弄清楚是否可以在数组中循环一个 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);

我怎么做?

伙计们。

4

2 回答 2

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)输出:

大批
(
    [乔] => 1987 年 6 月 22 日
    [piter] => 1988 年 5 月 25 日
    [杰克] => 1990 年 8 月 26 日
)

在这种情况下,您不需要这样做,但如果您想知道如何在循环中$v用作键,$arr2您可以在循环中进行分配:

$arr2[$v] = ...;
于 2012-06-12T21:48:16.940 回答
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);
于 2012-06-12T21:52:23.163 回答