首页 > 解决方案 > 如果其他条件替换php中的值

问题描述

我有一个 php 脚本来运行 if else 以根据条件替换值:

//$mobile = '23456701';
$mobile = '01234567';

$zero_lead = "/^01/";
$country_code = "44";


$phone = preg_replace($zero_lead, $country_code, $mobile);

if (strpos($phone, '/^0/') !== true) {
   
   $accountNumber = $mobile;
   
}
else
{
    $accountNumber = '';
}

$post_data = array(
                'phone' => $phone,
                'accountNumber' => $accountNumber,
            );

echo json_encode($post_data);

返回:{"phone":"44234567","accountNumber":"01234567"}

我的预期回报如果$mobile = '01234567';会回来{"phone":"44234567","accountNumber":""}

并将$mobile = '23456701';返回{"phone":"23456701","accountNumber":"23456701"}

有人有建议吗?

谢谢

标签: phpif-statement

解决方案


您可以使用该$count参数来preg_replace查看是否进行了替换(即以$mobile开头的值01),然后使用它来设置 的值$accountNumber

$phone = preg_replace($zero_lead, $country_code, $mobile, -1, $count);
$accountNumber = $count ? '' : $mobile;

3v4l.org 上的演示


推荐阅读