sscanf

(PHP 4 >= 4.0.1, PHP 5)

sscanf — Parses input from a string according to a format。

其他的就不多说了。就说下。使用sscanf format大数字的情况。


$line = '100004318055950,100';
list($uid, $expendGoldNum) = sscanf($line, '%f,%d');
echo '$uid:',$uid, '   $expendGoldNum":',$expendGoldNum;

运行结果为:


$uid:1.0000431805595E+14      $expendGoldNum":100

逗号前面的内容直接显示为使用科学计数法表示。


$line = '100004318055950,100';
list($uid, $expendGoldNum) = sscanf($line, '%s,%d');
echo '$uid:',$uid, '   $expendGoldNum":',$expendGoldNum;

运行结果为:


$uid:100004318055950,100   $expendGoldNum":

如果将%f修改为%s 则因为%s将所有的内容全部匹配了,不符合要求。


$line = '100004318055950,100';
list($uid, $expendGoldNum) = sscanf($line, '%[0-9],%d');
echo '$uid:',$uid, '   $expendGoldNum":',$expendGoldNum;

运行结果为:


$uid:100004318055950   $expendGoldNum":100

这次正确了。