如果第一个字符为0,则替换String的第一个字符

时间:2017-07-30 12:01:18

标签: php

我从带有phone_number字段的表中提取记录。在表中,某些电话号码的顺序不正确。正确的顺序应为233,然后是用户的电话号码,但有些记录以用户的电话号码开头。

即:代替233243000(233xxxxxx如此正确的顺序),有些电话号码如下:0243000(即订单不正确)

我想要做的是,如果数字仅以零开头,则应将其替换为233,以便所有数字的顺序正确。

3 个答案:

答案 0 :(得分:0)

测试第一个字符,如果为零,则替换它。

if (substr($pn, 0, 1) === '0') {
   $pn = '233' . substr($pn, 1);
}

您可能还想使用其他条件,例如原始值的长度等,以确保您的结果符合您的预期,而不是特殊值。例如,如果原始值为023333623236,那么执行上述转换可能不是您想要的。

答案 1 :(得分:0)

$number = '043234';
$const = '233';
if(substr($number,0) === '0'){
echo $number  = $const.''.substr(1, strlen($number));
}
else{
echo $number;
}

答案 2 :(得分:0)

$phoneNumber = '023343234';
$countryCode = '233';

if(substr($phoneNumber, 0, 4) == '0233'){
    // if the number has 233 but it started with 0
    echo $phoneNumber  = $countryCode.''.substr($phoneNumber, 4);

}elseif(substr($phoneNumber, 0, 1) == '0'){
    // if the number started with 0
echo $phoneNumber  = $countryCode.''.substr($phoneNumber, 1);
}else{
    // if the number is in correct format
echo $phoneNumber;
}