Push associative array from for-loop in php

故事扮演 提交于 2020-01-30 05:14:23

问题


The for loop is supposed to loop 10 times. When I just print the $fname, $lname and $email I am getting the 10 data (Working fine)

But I need to store those value in an associative array.

$assocDataArray = array();
foreach ($data as $key => $value) {
    foreach ($value['emails'] as $lead) {
        $fname = $lead['first_name'];
        $lname = $lead['last_name'];
        $email = $lead['value'];

        //put objects in array
        $assocDataArray += [ "First Name" => $fname ];
        $assocDataArray += [ "Last Name" => $lname ];
        $assocDataArray += [ "Email" => $email ];
    }
}

var_dump($assocDataArray);

var_dump is only giving me one array [Expected 10]


回答1:


This assignment:-

$assocDataArray += [ "First Name" => $fname ];
$assocDataArray += [ "Last Name" => $lname ];
$assocDataArray += [ "Email" => $email ];

Is wrong.Change it like below

$assocDataArray[] = [ "First Name" => $fname ,"Last Name" => $lname ,"Email" => $email ];



回答2:


You can assign the key

$assocDataArray = array();
foreach ($data as $key => $value) {
    foreach ($value['emails'] as $lead) {
        $fname = $lead['first_name'];
        $lname = $lead['last_name'];
        $email = $lead['value'];

        //put objects in array
        $assocDataArray[ $key ]['First Name'] = $fname;
        $assocDataArray[ $key ]['Last Name'] = $lname;
        $assocDataArray[ $key ]['Email'] = $email;
    }
}

var_dump($assocDataArray);

```



来源:https://stackoverflow.com/questions/48181781/push-associative-array-from-for-loop-in-php

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!