user657821
user657821

Reputation: 1017

Compare 2 arrays that exist in the same multidimensional array

I have an associative array as such:

Array
(
[0] => Array
    (
        [0] => Array
            (
                [0] => name=>Jose
                [1] => email=>[email protected]
            )

        [1] => Array
            (
                [0] => name=>Adriana
                [1] => email=>[email protected]
            )

    )


[1] => Array
    (
        [0] => Array
            (
                [0] => name=>Jose
                [1] => email=>[email protected]
            )

        [1] => Array
            (
                [0] => name=>Maria
                [1] => email=>[email protected]
            )
    )
)

I want to collect all email addresses of all members. Jose has 2 email addresses, Maria 1, and Adriana 1. How do I compare 2 arrays that co-exist in a multidimensional array?

I want something like:

Array
(
[0] => Array
(
[0] => name=>Jose
[1] => firstemail=>[email protected]
[2] => secondemail=>[email protected]
)

[1] => Array
(
[0] => name=>Adriana
[1] => firstemail=>[email protected]

)

[2] => Array
(

[0] => name=>Maria
[1] => firstemail=>[email protected]

)
)

thanks in advance!

Upvotes: 1

Views: 203

Answers (1)

Diego Torres
Diego Torres

Reputation: 5308

Like this

$finalarray = array();

foreach ($inputarray as $subarray) {
  foreach($subarray as $entry) {
     if (!array_key_exists($entry["name"], $finalarray)) {
        $finalarray[$entry["name"]] = array();
     }
     array_push($finalarray[$entry["name"]], $entry["email"]);
  }
}

Upvotes: 1

Related Questions