Php 将foreach循环结果作为一个键
我想知道是否可以在数组中循环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);
$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);