PHP sscanf() 函数
说明
sscanf()
函数根据格式解析来自字符串的输入。
sscanf()
函数从字符串中读取并按照指定的格式进行解释,在前面的 sprintf()
函数参考章节中有介绍。
下表总结了该函数的技术细节。
返回值: |
如果只向该函数传递两个参数,则解析的值将作为数组返回。 否则,如果传递了可选参数,该函数将返回分配值的数量。 可选参数必须通过引用传递。 此外,如果 format 中预期的子字符串多于 string 中可用的子字符串,则将返回
null 。 |
---|---|
版本: | PHP 4.0.1+ |
语法
sscanf()
函数的基本语法如下:
sscanf(string, format, var1, var2, ...);
下面的例子展示了 sscanf()
函数的作用。
<?php
// 示例字符串
$str = "John Carter (26)";
// 解析字符串
sscanf($str, "%s %s (%d)", $first, $last, $age);
echo "$first $last is a $age year old man.";
?>
参数
sscanf()
函数接受以下参数。
参数 | 说明 |
---|---|
string | 必填。 指定要解析的字符串。 |
format |
必填。 指定字符串的解释格式,在之前的
|
var1, var2, ... | 可选。 指定将包含解析值的变量。 |
更多示例
这里有更多示例展示了 sscanf()
函数的实际工作原理:
在以下示例中,解析后的值将作为数组返回。
<?php
// 示例字符串
$date = "January 15 2021";
// 解析字符串
$result = sscanf($date, "%s %d %d");
print_r($result);
?>
以下示例显示如何从十六进制颜色值中获取等效的整数 rgb 值。
<?php
// 十六进制颜色代码示例
$hex = "#ff8800";
// 解析字符串并获取 rgb 值
list($s, $r, $g, $b) = sscanf($hex, "%1s%2x%2x%2x");
echo "<p style='background: rgb($r, $g, $b, 0.5)'>Alpha transparency<p>";
?>
Advertisements