1

さて、このコードを見てください:

$accountMask = substr($transaction['cc_number'], strlen($transaction['cc_number'])-4); 

次のような数字が必要だと思います: 1234567890 そして、これを次のように変換します: 123456

コードが実際にこれを行っていると考えるのはおかしいですか: 7890 ??

私の意見では、CC 番号のような数字の下 4 桁だけを表示したい場合は、次のようにします。

$accountMask = substr($transaction['cc_number'], -4); 

右?

4

4 に答える 4

2

あなたの例は両方とも同じことをします。コメントに従って、 substr()のドキュメントをチェックしてください

特に 2 番目のパラメータ:

start が負でない場合、返される文字列は、string 内のゼロから数えて start 番目の位置から始まります。たとえば、文字列「abcdef」では、位置 0 の文字は「a」、位置 2 の文字は「c」などです。

start が負の場合、返される文字列は文字列の末尾から start 番目の文字から始まります。

string が start 文字以下の長さの場合、FALSE が返されます。

于 2011-05-17T18:07:55.860 に答える
0

substr関数の署名は

string substr ( string $string , int $start [, int $length ] )

ここあたり。

したがって、文字列と開始位置を渡します。それ以降はすべてかかります。あなたが言ったようにそれを実行したい場合は、次のように呼び出したいと思うでしょう:

$accountMask = substr($transaction['cc_number'], 0, strlen($transaction['cc_number'])-4); 
于 2011-05-17T18:08:57.543 に答える
0

string substr ( string $string , int $start [, int $length ] )

start パラメータと 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

于 2011-05-17T18:07:02.690 に答える
0

の定義substr():

string substr ( string $string , int $start [, int $length ] )

あなたのコードは$accountMask最後の4つの数字に設定されています$transaction['cc_number']

于 2011-05-17T18:08:12.550 に答える