我正在试图弄清楚是否有可能在一个数组中循环一个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的家伙。
答案 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);