将foreach循环结果作为关键php

the*_*ede 3 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);
Run Code Online (Sandbox Code Playgroud)

我怎么做?

Thnaks伙计们.

Pau*_*aul 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);
Run Code Online (Sandbox Code Playgroud)

print_r($arr2) 输出:

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

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

$arr2[$v] = ...;
Run Code Online (Sandbox Code Playgroud)

  • @thegrede你不能使用`arrays`作为密钥.键必须是字符串或整数.见这里:http://php.net/manual/en/language.types.array.php.如果你真的想要你可以使用`serialize`将数组转换为字符串,然后将其用作键,但我强烈建议不要这样做. (2认同)