Trying to understand physical interpretation of outer product I am reading a book on Quantum computation and found the following expression:  

|ψ><ψ||ϕ> → |ψ>   <ψ|ϕ> =    <ψ|ϕ>|ψ>

The book says that it means:  

That is, the operator |ψ><ψ| projects a vector |ϕ> in H to the
  1-dimensional subspace of H spanned by |ψ>.

But I am not able to understand this meaning of the above expression. Please help me understand this. (I know inner product is projection)   
 A: It might be most helpful to see this using basic finite-dimensional matrix and vector calculations. I'm not sure how familiar you are with this.
For simplicity, pick two vectors $u, v \in \mathbb{R}^n$. If we pick the standard basis $e_1, \ldots, e_n$, then $u$ and $v$ looks like
$$
u = u_1 e_1 + \cdots + u_n e_n \\
v = v_1 e_1 + \cdots + v_n e_n \\ 
$$
(of course you know that $u_i, v_i$ are extractable via the projections $\left<u| e_i\right>$ and $\left<v| e_i\right>$).
Now, 
$$
\left<u|v\right> = u \cdot v = u_1 v_1 + \cdots + u_n v_n = \left[\begin{array}{ccc}u_1 & \cdots & u_n\end{array}\right] \cdot \left[\begin{array}{c}v_1 \\ \vdots \\ v_n\end{array}\right]
$$
with the last equality coming from the orthonormality of the basis vectors. If we think of $u, v$ as actually being column vectors, then we can write 
$$
u \cdot v = u^T v
$$
since the row vector $u^T$ is the transpose of the column $u$. The matrix multiplication is of a $1 \times n$ array with an $n \times 1$ array, resulting in a $1 \times 1$ array, or just a number. In bra-ket notation, transposing the column to the row turns the ket $\left|u\right>$ into the bra $\left< u \right|$.
So much for the inner product. But notice that the matrix multiplication rules still work if we multiply the column by the row, in the opposite order. In that case, we don't get a single number like in the first calculation - in fact, we get an $n \times n$ matrix. We get:
$$
v u^T = \left[\begin{array}{c}v_1 \\ \vdots \\ v_n\end{array}\right] \cdot \left[\begin{array}{ccc}u_1 & \cdots & u_n\end{array}\right] = \left[\begin{array}{ccc} u_1v_1 & \cdots & u_n v_1 \\ \vdots & & \vdots \\ u_1v_n & \cdots & u_n v_n\end{array}\right] = \left|v\right>\left<u\right|
$$
Now this is an operator that can act on other vectors. In fact, if $w$ is any other vector, then notice that when we evaluate this matrix on $w$, it is actually equal to 
$$
(\left|v\right>\left<u\right|) \left|w\right> = (vu^T)w = v(u^T w) = (u \cdot w) v
$$
where the last equality comes from noticing, like before, that $u^Tw$ is just the inner product of $u$ and $w$.
So here is a way to create an operator from two vectors. It's called their 'outer' product, because it's the opposite of an inner product!
When you have states in quantum mechanics, the vector space is no longer just $\mathbb{R}^n$. The vector-and-matrix analogy no longer works because there is no longer a finite basis (in general). But the algebra remains the same. You can think of the bras as being row vectors and the kets as being column vectors. Row times column results in a scalar, 'inner' product (bra-ket), and column times row results in a matrix, 'outer' product (ket-bra).
I have been a but incautious about switching in and out of the bra-ket notation. But I hope you get the idea.
