função de chamada php retorna dinamicamente null

Estou tentando chamar uma função dinamicamente, usando call_user_func_array, mas o problema que estou enfrentando é que, se a função retorna booleano, as variáveis ​​de parâmetro são armazenadas em uma matriz, mas se a função retorna uma seqüência de caracteres ele funcionará bem

call_user_func_array () espera que o parâmetro 1 seja um retorno de chamada válido, a função 'igual' não encontrada ou o nome da função inválido não incluído em ...

$param = array (
   0 => Jill
   1 => Jack
);

echo call_user_func_array("equal", $param);

function equal($str, $str_2) {
     if ($str==$str_2) {
         return true;
     } else {
         return false;
     }
}

questionAnswers(1)

yourAnswerToTheQuestion