前の記事「php は指定されたディレクトリにあるファイルをどのように認識するのか 」では、PHP を使用して、指定されたディレクトリにあるファイル (サブディレクトリを除く) の名前を取得しました。今回はファイル内のデータ行数を計算する方法について説明しますので、必要な場合は参考にしてください。
「test.txt」という名前のテキスト ファイルがあり、その内容は次のとおりです。
ファイルには 10 行のデータがあることがわかります。では、PHP プログラムを使用して統計を実行し、ファイル内のデータ行数を計算するにはどうすればよいでしょうか?
今日は 2 つの方法を紹介します。1 つ目は 1 つ目の方法です:
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $i=0; $handle = fopen('./test.txt', 'r'); //打开文件 if (!$handle) { //判断文件是否打开成功 echo '文件打开失败!'; } while (false !== ($char = fgets($handle,1024))) { //循环读取文件内容 $i++; } echo "文件中共有 ".$i." 行数据"; fclose($handle); //关闭文件 ?>
出力結果:
分析:
fgets() 関数は、ファイルを 1 行ずつ読み取ることができ、一度に 1 行のデータを読み取ることができます。
while ループと fgets() 関数を使用してファイルのすべてのデータを読み取り、カウンター $i
を使用してファイル全体の読み取りをカウントします。ファイル、fgets()関数を合計数回実行します。
while ループと fgets() 関数の使用方法は少し複雑で、ファイルを開いたり閉じたりする必要もあります。以下に、より簡単な方法を紹介します。
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $file = 'test.txt'; $filearr = file($file,FILE_IGNORE_NEW_LINES); $i = count($filearr); echo "文件中共有 ".$i." 行数据"; ?>
出力結果:
分析:
file() 関数は 1 回だけ使用できます。ファイル全体を読み込むと、ファイル全体が配列に読み込まれます。1 行のデータが 1 つの配列要素に対応します [詳細については、記事「php でファイル全体のデータを 1 行ずつ配列に格納する方法##」を参照してください。 #"]。
上記の例では、var_dump() を使用して $filearr 配列を出力し、次の結果を取得できます。 10 個あることがわかります。配列要素、これら 10 個の配列 この要素は、10 行のデータを含むファイルに対応します。 このとき、count($filearr)を使用して配列の長さ(配列の要素数)をカウントすると、ファイルに何行のデータがあるかを取得できます。 。
《PHP 面接質問まとめ (集)》《php ビデオ チュートリアル》
以上がPHP はファイルに何行あるかをどのようにして知るのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。