一个简单的问题,……我要疯了

| 好的,所以看下面的代码:
$accountMask = substr($transaction[\'cc_number\'], strlen($transaction[\'cc_number\'])-4); 
我认为需要这样的数字:1234567890 并将其转换为:123456 我疯狂地认为代码实际上是在这样做:7890? 我认为,如果我只想显示CC号码等数字的最后4位数字,则可以这样做:
$accountMask = substr($transaction[\'cc_number\'], -4); 
对?     
已邀请:
您的两个示例都做同样的事情。根据评论检查有关substr()的文档 特别是第二个参数:   如果启动为非负值,则   返回的字符串将从   字符串中的起始位置,计数   从零开始。例如,在字符串中   \'abcdef \',位置0处的字符   是\'a \',位置2处的字符是   \'c \',依此类推。      如果start为负,则返回   字符串将从第一个开始   字符串末尾的字符。      如果字符串小于或等于   起始字符长,FALSE将是   回到。     
  字符串substr(字符串$ 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);
您可以在此处阅读有关ѭ4的更多信息:http://php.net/manual/en/function.substr.php     
substr()
的定义:
string substr ( string $string , int $start [, int $length ] )
您的代码将
$accountMask
设置为
$transaction[\'cc_number\']
的后4个数字     
substr
功能的签名是
string substr ( string $string , int $start [, int $length ] )
每个在这里。 因此,您正在传递字符串和起始位置。此后,一切都会发生。如果您希望它执行您说的样子,则需要这样称呼它:
$accountMask = substr($transaction[\'cc_number\'], 0, strlen($transaction[\'cc_number\'])-4); 
    

要回复问题请先登录注册