I often need to covert mobile numbers into a UK international format of 44 followed by the number such as 442548951486 the numbers I work with can be in a mixed format some without a starting 0 others with 44 and same with spaces, so I wrote function that will convert a number in any mixture into a standard format quick and easily and as all the code is inside a function is reusable which means converting numbers in bulk is now very easy to do.
The function simple needs a number passing to it, a check is done to make sure the number only contains numbers then a check is done to see if the number starts with a 0 if not if will add a 0 as long as the start is not 4. Then a check is done to replace the 0 with a 44 then finally any spaces are removed and the formatted number is then returned.
Here's the function:
<?php
function format_number($number)
{
//make sure the number is actually a number
if(is_numeric($number)){
//if number doesn't start with a 0 or a 4 add a 0 to the start.
if($number[0] != 0 && $number[0] != 4){
$number = "0".$number;
}
//if number starts with a 0 replace with 4
if($number[0] == 0){
$number[0] = str_replace("0","4",$number[0]);
$number = "4".$number;
}
//remove any spaces in the number
$number = str_replace(" ","",$number);
//return the number
return $number;
//number is not a number
} else {
//return nothing
return false;
}
}
?>
<p>Usage Example:</p>
echo format_number('07295514973');
Subscribe to my newsletter for the latest updates on my books and digital products.
Find posts, tutorials, and resources quickly.
Subscribe to my newsletter for the latest updates on my books and digital products.