I have an object with a property:
protected $recipients = array();
In one of my methods I set the contents of the $recipients property with an associative array of data using this method:
public function setRecipientData($recipientData){
    foreach($recipientData as $key => $value){
        $this->recipients[$key] = $value;
    }
}    
When I dump the contents of $this->recipients, the array ends up looking like this:
array (size=2)
  0 => 
    array (size=6)
      'email'       => string 'info@mycompany.com' (length=29)
      'userEmail'   => string 'xxx@yyy.com' (length=11)
      'first_name'  => string 'Test' (length=4)
      'last_name'   => string 'User' (length=4)
      'jobTitle'    => string 'Customer User' (length=13)
      'phoneNumber' => string '123.456.7890' (length=12)
I also have a property that will extract only the email addresses from the property like this:
private function getRecipientEmails(){
    $emails = array();
    foreach($this->recipients as $recipient){
        $emailPair = array('email' => $recipient['userEmail']);
        $emails[] =  $emailPair;
    }
    return $emails;
}
The problem that I'm running into is that when I run the method getRecipientsEmails() I get the error:
Undefined index: userEmail
I don't understand why it's not seeing the index 'userEmail'. If I dump the nested array it shows a value:
private function getRecipientEmails(){
    $emails = array();
    foreach($this->recipients as $recipient){
        dd($emailPair = array('email' => $recipient['userEmail']));
        $emails[] =  $emailPair;
    }
    return $emails;
}
Result:
array (size=1)
  'email' => string 'xxx@yyy.com' (length=20)
I've tried dumping the autoload with composer but it makes no difference.
Can anyone help point me in the right direction??
EDIT: Sorry, I realized that I wrote the wrong method into my original post. I've added the original getRecipientEmails() method and the dump that shows the data. 
