php sscanf()函数根据指定格式解析输入的字符

原创 国哥笔记  2018-12-29 15:00  阅读 539 views 次

sscanf()函数定义及用法

在php中,sscanf()函数是用来根据指定的格式解析来自一个字符串的输入,如果该函数就两个参数,函数将返回一个数组,如果可选参数被设置,函数将返回被设置了值的个数。如果函数第一个参数规定的子字符串比第一个参数规定的字符串内可用的多,函数将返回-1。该函数可以将字符串中的数据解析到指定变量中;

sscanf()函数可以有多个参数,第一个参数用来规定需要解析的字符串;第二个参数用来规定要使用的格式,格式见下边的参数说明;第三个参数为可选参数,规定存储数据的第1个变量;第四个参数也是可选参数,规定存储数据的第2个变量;第n个参数也是可选参数,规定存储数据的第n个变量;

sscanf()函数语法格式

$arr = sscanf(string,format,arg1,arg2,arg++);

参数说明

  • string:规定需要解析的字符串;
  • arg1/arg2/arg++:规定存储数据的变量;

format参数可能的格式值

  • %%:输出一个百分号(%);
  • %c:ASCII值对应的字符;
  • %d:包含正负号的十进制数;
  • %e:使用小写的科学计数法(例:1.2e+2);
  • %U:不包含正负号的十进制数(大于等于0);
  • %f:浮点数(本地设置);
  • %o:八进制数;
  • %s:字符串;
  • %x:十六进制数(小写字母);
  • %X:十六进制数(大写字母);

附加的格式值(放置在%和字母之间,如:%.2f):

  • + :定义数字的正负性;
  • ' :规定使用什么作为填充,默认是空格。它必须与宽度指定器一起使用(例:%'x20s,使用 "x" 作为填充;
  • - :左调整变量值;
  • [0-9] :规定变量值的最小宽度;
  • .[0-9] :规定小数位数或最大字符串长度;
注意:如果使用多个上述的格式值,它们必须按照上面的顺序进行使用,不能打乱。

实例:

<?php
header("content-type:text/html;charset=utf-8");//设置编码,解决中文乱码
$string = "name:小明,age:26,height:1.68,weight:130"; 
$arr = sscanf($string,"name:%6s,age:%d,height:%f,weight:%d");
$result = sscanf($string,"name:%s,age:%d,height:%f,weight:%d",$name,$age,$height,$weight);
echo '原字符串:'.$string."<br/>";//输出原字符串
echo '函数返回值:';
var_dump($arr);
var_dump($result);
echo '输出解析到变量中的数据:<br/>';
echo "name:{$name}";
?>

运行结果:

sscanf()函数

非常相关

 

更多操作字符串的函数——>PHP String字符串函数大全

本文地址:https://www.ggbiji.com/php-sscanf.html
版权声明:本文为 国哥笔记 原创/整理文章,欢迎分享,转载请注明出处!

发表评论


表情