Php 将foreach循环结果作为一个键

Php 将foreach循环结果作为一个键,php,arrays,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);

我想知道是否可以在数组中循环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伙计们。

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

打印($arr2)
输出:

Array ( [joe] => 06/22/1987 [piter] => 05/25/1988 [jack] => 08/26/1990 )
好吧,在我输入了这个之后,我看到了@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);

在这种情况下,期望的输出是什么?我想您可能正在寻找。它需要2个数组,并创建一个新数组,其中键来自一个数组,值来自另一个数组。但是如果我希望每个键都应该是一个数组,我该怎么做呢?@thegrede你不能对键使用
数组
。键必须是字符串或整数。请参见此处:。如果确实需要,可以将数组转换为带有
序列化的字符串,然后将其用作键,但我强烈建议不要这样做。@有一种方法可以通过扩展ArrayObject并重写OffsetSet方法将对象用作数组键,通过实现ArratAccess和实现您自己的OffsetSet方法,我还记得SplObserver/SplSubject接口可以实现这一点。
$arr2[$v] = ...;
$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);