PHP sscanf 字符串函数

  • 定义和用法

    sscanf - 根据指定格式解析输入的字符
  • 版本支持

    PHP4 PHP5 PHP7
    V4.0.1(含)+支持 支持 支持
  • 语法

    sscanf ( string $str , string $format [, mixed &$... ] )  
    
    这个函数 sscanf() 输入类似 printf()sscanf() 读取字符串str 然后根据指定格式format解析, 格式的描述文档见 sprintf()。指定的格式字符串中的任意空白匹配输入字符串的任意空白.也就是说即使是格式字符串中的一个制表符 \t 也能匹配输入 字符串中的一个单一空格字符
  • 参数

    参数 必需的 描述
    str 将要被解析的 字符串。
    format 解析str的格式, 除了以下不同外,其余的见 sprintf()的描述文档:
    • 函数不区分语言地区
    • F, g, G 和 b 不被支持.
    • D 表示十进制数字.
    • i 表示带基检测的整数。
    • n 代表目前已经处理的字符数。
    • s 遇到任意空格字符时停止读取。
    ... 否(依据format参数而定) 替换格式化字符串的占位。
  • 返回值

    如果仅传入了两个参数给这个函数,解析后将返回一个数组,否则,如果可选参数被传入,这个函数将返回被设置了值的个数,如果format存在的子字符串比 str内可用的多, -1 将被返回。
  • 示例

    <?php
    // 获取作者信息并生成DocBook条目
    $auth = "24\tLewis Carroll";
    $n = sscanf($auth, "%d\t%s %s", $id, $first, $last);
    echo "<author id='$id'>
        <firstname>$first</firstname>
        <surname>$last</surname>
    </author>\n";
    ?>
    
    尝试一下
  • 相关函数

    fscanf() - 从文件中格式化输入
    printf() - 输出格式化字符串
    sprintf() - 返回一个格式化字符串