介绍下不常用的函数 - sscanf

来源:互联网 发布:卖家淘宝网址怎么看 编辑:程序博客网 时间:2024/06/03 09:27

也许你经常会使用sprintf..比如.

  1. $str = "%s刚才吃了%s";  
  2. echo sprintf($str'博主''大便');  
  3. //output 博主刚才吃了大便 

顾名思义..格式化输出..其实是跟printf延伸而来的..

但是还有个格式化输入..大家常用吗??

那就是sscanf..如果你还对他很少了解..那么我们今天来看几个例子.

如何读出一个日期的年份月份和日期??比如"2009年5月15日"

那么这时候我们使用sscanf来试下..

  1. $str'2009年5月15日';  
  2. list($year$month$day) = sscanf($str'%d年%d月%d日');  
  3. echo $year,$month,$day;  
  4. //output 2009515 

 这样.我们就很容易的挑出来年月日了..

这只是个初级应用.我们来看个复杂的例子..

有这样一个字符串..

  1. $str = '  
  2. 0:null  
  3. 1:管理员  
  4. 2:工程员  
  5. 3:斑主  
  6. '; 

问:如何变成这样一个数组..前面的数字式索引..冒号后面的是值..

你想到怎么解决了吗??我首先想到的是sscanf..我们来看下最后的源码..

非常简单:)

  1. $str = '  
  2. 0:null  
  3. 1:管理员  
  4. 2:工程员  
  5. 3:斑主  
  6. ';  
  7. $strs = explode("/n"$str);  
  8. foreach ($strs as $value) {  
  9.     if (!empty($value)) {  
  10.         list($index$value) = sscanf($value'%d:%s');  
  11.         $array[$index] = $value;  
  12.     }  
  13. }  
  14. print_r($array); 
原创粉丝点击