如何从普通数组的每两个偏移量创建一个关联数组?

时间:2012-03-03 21:59:45

标签: php arrays csv associative-array

我有一组配对值(名称和电子邮件),我正在尝试为每两个偏移从普通数组创建一个关联数组。例如:

Array
 (
    [0] => joe
    [1] => joe@gmail.com
    [2] => bill
    [3] => bill@gmail.com
    [4] => kyle
    [5] => kyle@gmail.com
    [6] => matt
    [7] => matt@gmail.com
    [8] => chris
    [9] => chris@gmail.com
)

我想为每个[$i]&组建一个关联数组。 [$i+1],所以看起来像是:

Array
 (
    [0] => Array
        (
            [name] => joe
            [email] => joe@gmail.com
        )
    [1] => Array
        (
            [name] => bill
            [email] => bill@gmail.com
        )
 )

我试过了:

$num = count($csvArray);
for ($i=0; $i < $num; $i+2) {
    $newArray[] = array(
        'name' => $csvArray[$i],
        'email' => $csvArray[$i+1]
    );
}

它给了我这个错误:

  

致命错误:第20行的C:\ xampp \ htdocs \ array.php中允许的内存大小为134217728个字节(试图分配32个字节)

我做错了吗?

2 个答案:

答案 0 :(得分:4)

你的for循环中存在问题......它应该是

for($i=0; $i < $num; $i=$i+2)

目前它没有增加,因此无限循环

答案 1 :(得分:2)

您可以使用array_chunk

$newArray = array_chunk($csvArray, 2);