According to your comment:
I'm just looking for it to check if there is an uppercase, lowercase and a number, but from the replies, my pattern checks for it in an order
have a try with:
preg_match('/^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[A-Za-z0-9]+$/', $input_string);
where
(?=.*[A-Z])
checks there are at least one uppercase
(?=.*[a-z])
checks there are at least one lowercase
(?=.*[0-9])
checks there are at least one digit
[A-Za-z0-9]+
checks there are only these characters.
(?=...)
is called lookahead.