Converting PHP array to combine values for same keys in another array

Hey guys, Need some help converting an php array
below is the array I am getting

Array
(
[0] => Array
        (
            [asd@asd.com] => Education Requirement
        )

[1] => Array
        (
            [asd@asd.com] => Test requirement 5
        )
[2] => Array
        (
            [test@test.com] => Test requirement 2
        )
[3] => Array
        (
            [test@test.com] => Test requirement 3
        )

)

I want to convert it to this,

Array
(
[0] => Array
        (
            [asd@asd.com] => array(Education Requirement,Test requirement 5)
        )

[1] => Array
        (
            [test@test.com] => array(Test requirement 2,Test requirement 3)
        )
)

any ideas?
Thanks.

where do you get this array from?

This work for you?

$originalArr[0] = array('asd@asd.com' => 'Education Requirement');
$originalArr[1] = array('asd@asd.com' => 'Test requirement 5');
$originalArr[2] = array('test@test.com' => 'Test requirement 2');
$originalArr[3] = array('test@test.com' => 'Test requirement 3');

$result = array();
foreach ($originalArr as $arr) {
    foreach($arr as $key => $val) {
        $result[$key][] = $val;
    }
}

var_dump($result);

output:

array (size=2)
  'asd@asd.com' => 
    array (size=2)
      0 => string 'Education Requirement' (length=21)
      1 => string 'Test requirement 5' (length=18)
  'test@test.com' => 
    array (size=2)
      0 => string 'Test requirement 2' (length=18)
      1 => string 'Test requirement 3' (length=18)
1 Like

it comes from a model which passes that data to the controller.
below code is in foreach loop so each time I get 1 email and 1 requirement. and same email can have multiple requirement

$Data['sendarray'][] = array($email=>$value['requirement_name']);

Why don’t your model return the data already properly formatted?

Thanks Working as expected.

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.