This paper studies the multi-solution phenomenon for the perspective four point (P4P) problem from geometric and algebraic aspects. We give a pure geometric proof that the P4P problem could have up to five solutions. We also give a clear picture on how these five solutions could be realized. We prove that with probability one, the P4P problem has a unique solution which can be represented by a set of rational functions in the parameters. The simulant experiments show that to solve the P4P problem with the rational functions is stable and accurate.