[英]Replacing First 4 digits of a 10 digit number with x
我正在尝试将数字的前4位替换为X,例如:
$num= 1234567890
我希望输出看起来像这样:XXXX567890
我已经尝试过该功能:
$new = substr($num, 0, -4) . 'xxx';
但是它只删除最后4位数字,那我该怎么办?
你可以在相反的地方使用
$num= 1234567890;
$new = 'xxxx' . substr($num, 4);
echo $new;
第二个参数说明字符串的起始点,奇偶校验(正或负)说明方向。 正数表示字符串的右边,负数表示字符串的左边。
使用substr_replace
函数:
$num = 1234567890;
print_r(substr_replace($num, 'XXXX', 0, 4)); // XXXX567890
我认为这对于实现期望的输出会有所帮助。
解决方案1: 在此处尝试此代码段
<?php
ini_set('display_errors', 1);
$num= 1234567890;
echo "XXXX".substr($num, 4);//concatenating 4 X and with the substring
解决方案2: 在此处尝试此代码段
<?php
ini_set('display_errors', 1);
$num= 1234567890;
$totalDigits=4;
echo str_repeat("X", $totalDigits).substr($num, $totalDigits);// here we are using str_repeat to repeat a substring no. of times
输出: XXXX567890
另一种解决方案是使用str_pad,用“ X”将字符串“填充”到10个元素。
$num= 1234567890;
Echo str_pad(substr($num,4), 10, "X",STR_PAD_LEFT);
或者,如果字符串长度并非始终为10,请使用:
Echo str_pad(substr($num,4), strlen($num), "X",STR_PAD_LEFT);
如果编写了一个微型函数来执行这样的任务。
function hide_details($str, $num = 4, $replace = 'x') {
return str_repeat($replace, $num).substr($str, $num);
}
echo hide_details('1234567890');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.