thinkphp从数据库获取的电话号码,我要中间四个数字用星号表示怎么做

2025-06-29 00:04:18
推荐回答(1个)
回答1:

这里需要用到一个php的函数:substr_replace() 函数把字符串的一部分替换为另一个字符串。
这个函数的用法如下:substr_replace(string,replacement,start,length)
参数:
string 要被检查提取内容的字符串
replacement 替换后的字符串
start 截取的开始位置(以0开始)
length 截取的长度

直接上代码:(假如数据库中的电话号码的字段名为 phone)
$model = D('User);
$dataList = $model->select();   //请加上你自己需要的条件
if($dataList)
{
   foreach($dataList as $key=>$value)
  {
$dataList[$key]['phone'] = substr_replace($value['phone'], '****', 3, 4);
   }
}
var_dump($dataList);
输出如下:
array (size=2)
  0 => 
    array (size=1)
      'phone' => string '135****8956' (length=11)
  1 => 
    array (size=1)
      'phone' => string '159****7845' (length=11)