4

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]

2
  • 2
    $assocDataArray[] = [ "First Name" => $fname , "Last Name" => $lname , "Email" => $email ]; ? Commented Jan 10, 2018 at 6:52
  • This $assocDataArray += should give you a syntax error Commented Jan 10, 2018 at 6:52

2 Answers 2

6

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 ];
Sign up to request clarification or add additional context in comments.

Comments

1

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);

```

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.