It’s a leading zero, so most numeric functions would drop it because it’s not significant when processing that string as a number. I think you’d need to use some other method of making sure the user only enters digits in the phone number, either loop through it and extract anything that doesn’t match, or there’s probably a regular expression if you can get your head around the syntax.
You can’t because intval’s output is a number and numbers don’t have leading zeroes because they are irrelevant. Simply don’t use intval() and keep the number as string. You can validate digits in your string with preg_match() or ctype_digit().