サイトアイコン pulogu.net

PHP の行番号を取得する。 __FILE__ 定数。

目次

行番号を取得したい

上記画像は、 PHP ファイルを VScode( Visual Studio code  )で編集している途中の画面キャプチャです。

PHP コードは以下の様になっています。

18行目 <?php
19行目 echo "行番号:".__LINE__."<br />";
20行目 echo "行番号:".__LINE__."<br />";
21行目 echo "行番号:".__LINE__."<br />";
22行目 ?>

PHP ファイルの 19 ~ 21 行目に

echo "行番号:".__LINE__."<br />";

と echo で出力している箇所があります。

そこに、 __LINE__ と、アンダーバー 2 文字ではじまりアンダーバー 2 文字で終わる記述が含まれていますが、これは、 PHP ファイルの何行目にいるかを取得可能な PHP の定数のようです。

特別な設定を行っていなくても、「自動的に」定義される定数のようです。

PHP: 自動的に定義される定数 - Manual
http://php.net/manual/ja/language.constants.predefined.php

なので、 HTML での出力結果は以下のようになります。

行番号:19<br />
行番号:20<br />
行番号:21<br />

__FILE__ 定数で出力された行が取得・出力できています。

目次まで戻る

あとがき

私の場合は、動的配列に配列要素を順次追加した後に、乱数で配列の要素番号を指定して、 HTML として出力した時に、何行目の要素が出力されたのかが、出力を見て分かるようにと使用しています。

 1: <?php
 2: $tag0 = "<!--".__LINE__."-->"; // 1 番目の要素は 2 行目にある
 3: $tag1 = "<div>AAA</div>";
 4: $ary[] = array( $tag0 , $tag1 );
5:
 6: $tag0 = "<!--".__LINE__."-->"; // 2 番目の要素は 6 行目にある
 7: $tag1 = "<div>BBB</div>";
 8: $ary[] = array( $tag0 , $tag1 );
9:
10: $tag0 = "<!--".__LINE__."-->"; // 3 番目の要素は 10 行目にある
11: $tag1 = "<div>CCC</div>";
12: $ary[] = array( $tag0 , $tag1 );
13: ?>
14:
15: <?php
16: $ary_no = rand ( 1 , count( $ary ) ) - 1;
17: echo $ary[$ary_no][0]; //変数 $tag0 の内容が出力される。 //<!--2 または 6 または 10--> //何行目(何番目)の要素 が出力されているか分かる仕組みです。
18: echo $ary[$ary_no][1];
19: ?>

__FILE__ 定数、便利です。

以上、閲覧ありがとうございました。

目次まで戻る

モバイルバージョンを終了