好的,看看这段代码:
$accountMask = substr($transaction['cc_number'], strlen($transaction['cc_number'])-4);
我认为需要这样的数字: 1234567890 把它变成这样: 123456
我认为代码实际上是这样做的,我很疯狂: 7890 ??
在我看来,如果我只想显示一个像CC号这样的数字的最后4位数字,我会这样做:
$accountMask = substr($transaction['cc_number'], -4);
右?
答案 0 :(得分:2)
你的两个例子都做同样的事情。根据评论,请查看substr()
上的文档特别是第二个参数:
如果开始是非负面的,那么 返回的字符串将从 在字符串中起始位置,计数 从零开始。例如,在字符串中 'abcdef',位置0的角色 是'a',位置2的角色是 'c',等等。
如果开始为否定,则返回 字符串将从start'th开始 字符串末尾的字符。
如果string小于或等于 开始字符很长,FALSE会 返回。
答案 1 :(得分:0)
string substr(string $ string,int $ start [,int $ length])
返回字符串的一部分 由起点和长度指定 参数。
要获得所需内容,请指定$ start = 0,即使用:
$accountMask = substr($transaction['cc_number'], 0, -4);
或者:
$accountMask = substr($transaction['cc_number'], 0, strlen($transaction['cc_number'])-4);
您可以在此处详细了解substr()
:http://php.net/manual/en/function.substr.php
答案 2 :(得分:0)
substr()
的定义:
string substr ( string $string , int $start [, int $length ] )
您的代码正在将$accountMask
设置为$transaction['cc_number']
答案 3 :(得分:0)
substr
功能的签名是
string substr ( string $string , int $start [, int $length ] )
per here。
所以你传递的是字符串和开始的位置。之后需要一切。如果你想让它按你所说的那样做,你会想要这样称呼它:
$accountMask = substr($transaction['cc_number'], 0, strlen($transaction['cc_number'])-4);