使用循环值在foreach循环中创建新数组

时间:2013-09-08 04:56:09

标签: php arrays foreach

我有一系列电子邮件。我基本上试图从这个数组中的值创建新数组。例如,如果有一个数组“test@test.com”,我想创建一个数组$test@test.com(或类似的东西;我知道@符号可能无效)。我觉得我的头脑混乱了,因为我一直在使用jQuery,我无法弄清楚如何做到这一点。我熟悉reg_ex所以如果使用最好的话,我就没有问题。我想将这些数组命名为,这样我就可以在以后将相应的电子邮件地址分配给它们。这可能吗?如果我离开这里的基地,请告诉我。这是我到目前为止无法正常工作的代码:

$email_array = array_unique($email_array);

//MAKE E-MAIL ARRAYS

foreach($email_array as $key => $value){
    $value = array(); //I'm aware this doesn't work, but this is the idea
}

谢谢!

2 个答案:

答案 0 :(得分:1)

创建一个多维数组:

$new_email_array = array();

foreach ( $email_array as $email ) {
    $new_email_array[ $email ] = array();
}

答案 1 :(得分:0)

如果我理解你要做什么,你可以通过引用将值传递给循环,如此

foreach($email_array as $key => &$value){
    $value = array();
}
unset($value);

这将修改值。此外,最后的unset($value)是释放对$value的引用。如果您将其保留并重新使用$value,则会修改$email_array中的最后一项。