$titles = [
 'male'  => [ 'u18' => 'Master', 'other' => 'Mr' ],
 'female' => [ 'u18' => 'Miss',  'other' => 'Ms' ],
];

$age_category = ( $age < 18 ) ? 'u18' : 'other' ;
// もしくは
if( $age < 18 )
 $age_category = 'u18';
else
 $age_category = 'other';

$title = $titles[ $gender ][ $age_category ];

一定以上複雑なときはこうしておくかな
判断が増えたとき処理構造を大変更したくないから
というか、性別やu18かどうかをフラグで持っておくのが普通だと思うが

三項演算子だとすごく短い2つの文字列どちらか選択とかならまだいいけど
関数や式が絡むと : の区切りがわかりづらくなるんだよな