cyberfly
12/20/2017 - 6:42 AM

Laravel Collection convert Objects/array into associate array

$core_applications = [
    [
        'name' => 'ATEP',
        'uuid' => '5e7282dc-af1b-4ce7-a7cb-858e03a41797',
        'code' => 'ATEP'
    ],
    [
        'name' => 'APRA',
        'uuid' => '5e7282dc-af1b-4ce7-a7cb-858e03a41798',
        'code' => 'APRA'
    ],
];


$core_applications = collect($core_applications);

$internal_applications_lookup = $core_applications->reduce(function ($internal_applications_lookup, $application) {
                        $internal_applications_lookup[$application->code] = $application->uuid;
                        return $internal_applications_lookup;
                    }, []);
                    
var_dump($internal_applications_lookup);                    
                    
//result example:

/*

array(1) {
  ["ATEP"]=>
  string(36) "5e7282dc-af1b-4ce7-a7cb-858e03a41797",
  ["APRA"]=>
  string(36) "5e7282dc-af1b-4ce7-a7cb-858e03a41798"
}


/*