Code前端首页关于Code前端联系我们

如何在 PHP 中使用 fscanf 函数

terry 2年前 (2023-09-29) 阅读数 48 #PHP
文章标签 PHP

1. fscanf 函数概述

fscanf函数是PHP中经常使用的函数之一。它可以从文件中读取指定格式的数据,并将读取的数据赋给指定的变量。由于fscanf函数可以按照指定的格式读取数据,因此在读取格式化数据时非常方便。

该函数的语法如下:

fscanf (resource $handle , string $format [, mixed &$... ] ) : mixed

其中,$handle参数指定从中读取数据的文件指针,$format参数指定格式字符串,该格式字符串可能由以百分号(%)开头的格式规范和alm组成。指示要读取的数据类型的字符。及其顺序。例如%d表示读取整型数据,%f表示读取浮点型数据。

fscanf函数返回读取的数据。如果数据读取失败或者文件指针到达文件末尾,函数将返回 false。

2. 使用示例1:

以下示例演示如何从文件中读取整数和字符串,并将读取的数据分配给相应的变量。

$file = fopen("data.txt", "r");
if ($file) {
    // 读取一个整数和一个字符串
    fscanf($file, "%d,%s", $int, $str);

    // 输出读取到的数据
    echo "整数:".$int."
"; echo "字符串:".$str."
"; fclose($file); }

上面的代码将读取data.txt文件中的第一行数据。数据行由一个整数和一个字符串组成,以逗号分隔。将读取到的整数和字符串分别赋值给$int和$str变量,然后将变量的值读出。

3。使用示例2:

下面的示例展示了如何从文件中读取一组值并将读取的数据存储在数组中。

$file = fopen("data.txt", "r");
if ($file) {
    // 读取一组数值
    $arr = array();
    while (!feof($file)) {
        fscanf($file, "%f", $value);
        array_push($arr, $value);  
    }

    // 输出读取到的数据
    foreach ($arr as $item) {
        echo $item."
"; } fclose($file); }

上面的代码会读取data.txt文件中的所有浮点值,并将它们一一存储到数组中。最后将数组中的数据一一输出。

4. 使用示例3:

以下示例演示如何从文本文件的每一行读取一个整数,并计算读取数据的总和、平均值和最大值。

$file = fopen("data.txt", "r");
if ($file) {
    $sum = 0;
    $cnt = 0;
    $max = 0;
    while (!feof($file)) {
        // 读取一行整数
        fscanf($file, "%d", $value);
        $sum += $value;
        $cnt++;
        $max = max($max, $value);
    }

    // 输出计算结果
    echo "总和:".$sum."
"; echo "平均数:".($sum/$cnt)."
"; echo "最大值:".$max."
"; fclose($file); }

上面的代码将读取 data.txt 文件每一行中的整数,并计算这些值的总和、平均值和最大值。这些计算的结果输出到浏览器界面。

5。使用示例4:

以下示例演示如何从文本文件中读取一组数据并对其中的数字进行排序。

$file = fopen("data.txt", "r");
if ($file) {
    $arr = array();
    while (!feof($file)) {
        // 读取一组数据
        fscanf($file, "%s", $str);
        $arr = array_merge($arr, explode(",", $str));
    }

    // 对数组中的数值进行排序
    sort($arr, SORT_NUMERIC);

    // 输出排序结果
    foreach ($arr as $item) {
        echo $item."
"; } fclose($file); }

上面的代码将读取data.txt文件中的一组逗号分隔的数据,并提取数字形成一个数组。然后使用sort函数进行排序,最后将排序后的结果输出到浏览器界面。

6. 使用示例 5:

以下示例演示如何从标准输入读取一组数据并格式化输出字符串。

// 从标准输入中读取一组数据
fscanf(STDIN, "%d %s", $id, $name);

// 对字符串进行格式化输出
printf("ID:%05d, 姓名:%-10s", $id, $name);

上面的代码将从标准输入读取一组数据,其中包含一个整数和一个字符串。然后使用printf函数格式化字符串并打印。格式化字符串中的%-10s表示字符串的宽度为10且左对齐。

7。总结

fscanf函数是PHP中非常有用的函数,可以轻松读取各种格式的数据。通过本文的示例,我们可以学习如何从文件中读取数据、将数据存储在数组中、计算值、排序等操作。希望读者能够将这些例子应用到自己的实际项目中,提高开发效率。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门