I am trying to filter set of array through recursive function but can not return it when filtered is done.
function get_the_answer($number, $array=array()){
 $returnArray = array();
 $QS = array(1=>'C', 2=>'B', 3=>'C', 4=>'D');
 $SL = array(
           1 => array(
                    'cb1' => array('A','B', 'D'),
                    'cb2' => array('B','C', 'D'),
                    'cb3' => array('A','C', 'B'),
                ),
            2 => array(
                    'cb1' => array('B','C','D'),
                    'cb2' => array('A','C','D'),
                    'cb3' => array('A','B','D'),
                ),
            3 => array(
                    'cb1' => array('E','C','D'),
                    'cb2' => array('B','E','D'),
                    'cb3' => array('A','C','D'),
                ),
            4 => array(
                    'cb1' => array('A','D','E'),
                    'cb2' => array('A','C','D'),
                    'cb3' => array('B','C','D'),
            )
 ); 
 if($number<=4){ 
        if(empty($array)){
          $returnedValue = return_filtered_company($SL[$number], $QS[$number]);
        } else {
          $returnedValue = return_filtered_company($array, $QS[$number]);
        }
        //print_r($returnedValue); -> receiving values nicely, need the last set of array which is 'cb3'
        $returnArray[] = $returnedValue; 
        $increment = $number+1;
        if($increment<=4){
            $result=array_intersect_key($SL[$increment], $returnedValue);
             get_the_answer($increment, $result);
        }
    }
  return $returnArray;
}
//function for company calculation 
function return_filtered_company($companyArray, $answer){
 $foundCB=array();
 if(is_array($companyArray) && count($companyArray)){
    foreach ($companyArray as $name => $arrayVal){
        if (in_array($answer, $arrayVal)) {
            $foundCB[$name]=$name;
        }
    }
 }
return $foundCB;
}
I am calling answer function like this way:
$ans = get_the_answer(1);
    echo '<pre>';
    print_r($ans);
    echo '</pre>';
Everything is working fine but it is returning value which happened in 1st recursion not the last one. Answer should be cb3
Someone please help to find out what is/are the best solution to return last occurrence of recursion.
 
    