All answers are spot-on, but for the sake of expandability, here's a function that is "re-usable" and it's going to search recursively through even deeper arrays, with the possibility of specifying both the key and its value. It's going to stop at the first match and return its value, but again, for the sake of expandability it could quite easily be modified to return an array of matched key/value pairs, in case multiple results are expected.
function search_my_array($my_key, $my_value, $array) {
foreach($array as $key => $value) {
if(!is_array($value)) {
if(($key == $my_key) && ($value == $my_value)) {
return $value;
}
} else {
if(($result = search_my_array($my_key, $my_value, $value)) !== false) {
return $result;
}
}
}
return false;
}
So in your case, you'd be using it like:
$event = search_my_array('id', $event_id, $date_options);
I'd suggest however that you go for one of the much simpler solutions posted, if you only need the search function for this particular task, but maybe somebody will find this useful at some point.