将字符串或手机号的中间4位替换为星号的功能

你可以使用 PHP 的字符串函数来实现将字符串或数字的中间4位替换为星号的功能。以下是一个示例代码:

```php
function maskMiddleFour($input) {
    // 将输入转换为字符串
    $str = (string)$input;
    $length = strlen($str);

    // 如果长度小于等于4,直接返回全部星号
    if ($length <= 4) {
        return str_repeat('*', $length);
    }

    // 计算中间4位的起始位置
    $start = (int)(($length - 4) / 2);

    // 替换中间4位为星号
    $masked = substr_replace($str, '****', $start, 4);

    return $masked;
}

// 示例用法
echo maskMiddleFour("1234567890"); // 输出: 123****890
echo maskMiddleFour(1234567890);   // 输出: 123****890
echo maskMiddleFour("1234");       // 输出: ****
echo maskMiddleFour("123");        // 输出: ***
```

### 代码说明:
1. **maskMiddleFour** 函数接受一个输入参数 `$input`,并将其转换为字符串。
2. 如果字符串长度小于等于4,则直接返回全部星号。
3. 否则,计算中间4位的起始位置,并使用 `substr_replace` 函数将这4位替换为 `****`。
4. 最后返回替换后的字符串。

### 示例输出:
- `maskMiddleFour("1234567890")` 输出 `123****890`
- `maskMiddleFour(1234567890)` 输出 `123****890`
- `maskMiddleFour("1234")` 输出 `****`
- `maskMiddleFour("123")` 输出 `***`

这个函数可以处理字符串和数字输入,并确保中间4位被替换为星号。

以上内容由AI生成,文章内容与【小程序名片生成系统】、【多门店会员管理系统】、【同城信息发布系统】无关,系统实际功能请以演示小程序为准。
名片智汇 PRO · 小程序名片生成系统 Copyright © 2024 All Rights Reserverd . 周小杰 版权所有 鄂ICP备2023011723号