我正在尝试用X替换数字的前4位数字,例如:
$num= 1234567890
我希望输出显示如下:XXXX567890
我尝试过这个功能:
$new = substr($num, 0, -4) . 'xxx';
但它只删除了最后4位数,所以该怎么办?
答案 0 :(得分:4)
您可以在相反的情况下使用相同的
$num= 1234567890;
$new = 'xxxx' . substr($num, 4);
echo $new;
第二个参数告诉字符串和奇偶校验(正面或负面)的起点告诉方向。正数表示字符串右侧,负数表示字符串左侧。
答案 1 :(得分:2)
使用substr_replace
功能:
$num = 1234567890;
print_r(substr_replace($num, 'XXXX', 0, 4)); // XXXX567890
答案 2 :(得分:1)
我认为这个有助于实现所需的输出。
解决方案1: Try this code snippet here
<?php
ini_set('display_errors', 1);
$num= 1234567890;
echo "XXXX".substr($num, 4);//concatenating 4 X and with the substring
解决方案2: Try this code snippet here
<?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
答案 3 :(得分:1)
另一个解决方案是使用str_pad&#34;填充&#34;带有&#34; X&#34;的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);
答案 4 :(得分:0)
如果写了一个小函数来完成这样的任务。
function hide_details($str, $num = 4, $replace = 'x') {
return str_repeat($replace, $num).substr($str, $num);
}
echo hide_details('1234567890');