ホームページ > バックエンド開発 > PHPの問題 > PHP はファイルに何行あるかをどのようにして知るのでしょうか?

PHP はファイルに何行あるかをどのようにして知るのでしょうか?

青灯夜游
リリース: 2023-03-12 06:18:01
オリジナル
3442 人が閲覧しました

前の記事「php は指定されたディレクトリにあるファイルをどのように認識するのか 」では、PHP を使用して、指定されたディレクトリにあるファイル (サブディレクトリを除く) の名前を取得しました。今回はファイル内のデータ行数を計算する方法について説明しますので、必要な場合は参考にしてください。

「test.txt」という名前のテキスト ファイルがあり、その内容は次のとおりです。

PHP はファイルに何行あるかをどのようにして知るのでしょうか?

ファイルには 10 行のデータがあることがわかります。では、PHP プログラムを使用して統計を実行し、ファイル内のデータ行数を計算するにはどうすればよいでしょうか?

今日は 2 つの方法を紹介します。1 つ目は 1 つ目の方法です:

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$i=0;
$handle = fopen(&#39;./test.txt&#39;, &#39;r&#39;);                 //打开文件
if (!$handle) {                                     //判断文件是否打开成功
    echo &#39;文件打开失败!&#39;;
}
while (false !== ($char = fgets($handle,1024))) {        //循环读取文件内容
    $i++;
}
echo "文件中共有 ".$i." 行数据";
fclose($handle);                                    //关闭文件
?>
ログイン後にコピー

出力結果:

PHP はファイルに何行あるかをどのようにして知るのでしょうか?

分析:

  • fgets() 関数は、ファイルを 1 行ずつ読み取ることができ、一度に 1 行のデータを読み取ることができます。

  • while ループと fgets() 関数を使用してファイルのすべてのデータを読み取り、カウンター $i を使用してファイル全体の読み取りをカウントします。ファイル、fgets()関数を合計数回実行します。

while ループと fgets() 関数の使用方法は少し複雑で、ファイルを開いたり閉じたりする必要もあります。以下に、より簡単な方法を紹介します。

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$file = &#39;test.txt&#39;;
$filearr = file($file,FILE_IGNORE_NEW_LINES);
$i = count($filearr);
echo "文件中共有 ".$i." 行数据";
?>
ログイン後にコピー

出力結果:

PHP はファイルに何行あるかをどのようにして知るのでしょうか?

分析:

file() 関数は 1 回だけ使用できます。ファイル全体を読み込むと、ファイル全体が配列に読み込まれます。1 行のデータが 1 つの配列要素に対応します [詳細については、記事「php でファイル全体のデータを 1 行ずつ配列に格納する方法##」を参照してください。 #"]。

上記の例では、var_dump() を使用して $filearr 配列を出力し、次の結果を取得できます。

PHP はファイルに何行あるかをどのようにして知るのでしょうか?

10 個あることがわかります。配列要素、これら 10 個の配列 この要素は、10 行のデータを含むファイルに対応します。

このとき、

count($filearr)を使用して配列の長さ(配列の要素数)をカウントすると、ファイルに何行のデータがあるかを取得できます。 。

わかりました。これですべてです。他に知りたいことがある場合は、これをクリックしてください。 → →

PHP ファイルの基本操作

## おすすめ:

PHP 面接質問まとめ (集)》《php ビデオ チュートリアル

以上がPHP はファイルに何行あるかをどのようにして知るのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート