一、保留银行卡后四位,其他转为星号
1、代码
public function test() {
$accountArray = [ 12345678, 123456789876543, 123456787654321];
foreach ($accountArray as &$value) {
$length = 4;
$count = strlen($value);
$starNumber = ($count - $length);
$repeat = str_repeat('*', $starNumber);
$value = substr_replace($value, $repeat, 0, $starNumber);
}
var_export($accountArray);die;
}
2、打印
array ( 0 => '****5678', 1 => '***********6543', 2 => '***********4321', )
二、获取银行卡后4位
1、代码
public function test() {
$accountArray = [ 12345678, 123456789876543, 123456787654321];
foreach ($accountArray as &$value) {
$value = substr($value, -4);
}
var_export($accountArray);die;
}
2、打印
array ( 0 => '5678', 1 => '6543', 2 => '4321', )
三、打散成4个一组,最后一组正常显示,其他的则星号显示
1、代码
public function test() {
$accountArray = [ 12345678, 123456789876543, 123456787654321];
$groupNumber = 4;
foreach ($accountArray as &$value) {
$count = strlen($value);
$yu = $count % $groupNumber;
$numberCount = ($yu != 0) ? $yu : $groupNumber;
$starNumber = ($count-$numberCount);
$startString = str_repeat('*', $starNumber);
$hideStr = substr_replace($value, $startString,0, $starNumber);
$value = str_split($hideStr, 4);
}
var_export($accountArray);die;
}
2、打印
array (
0 =>
array (
0 => '****',
1 => '5678',
),
1 =>
array (
0 => '****',
1 => '****',
2 => '****',
3 => '543',
),
2 =>
array (
0 => '****',
1 => '****',
2 => '****',
3 => '321',
),
)