Skip to content

Instantly share code, notes, and snippets.

@benglass
Last active August 27, 2015 18:00
Show Gist options
  • Save benglass/ac3eb82cb0ad4c448d13 to your computer and use it in GitHub Desktop.
Save benglass/ac3eb82cb0ad4c448d13 to your computer and use it in GitHub Desktop.
<?php
function index_by(array $arr, $getKey) {
return array_combine(array_map($getKey, $arr), $arr);
}
$emails = ['ben@vtdesignworks.com', 'bruce@ksefocus.com'];
$emailAddresses = $emailAddressRepository->findByEmails($emails);
$emailAddressesByEmail = index_by(
$emailAddresses,
function(EmailAddress $address) { return $address->getEmail(); }
);
// $emailsAddressesByEmail is now an array of $email => EmailAddress
// For any that weren't found, create new instances
foreach ($emails as $email) {
if (isset($emailAddresses[$email])) {
continue;
}
$emailAddresses[$email] = new EmailAddress($email);
}
foreach ($email as $email) {
$alert->addEmail($emailAddresses[$email]);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment