PHP には非常に豊富な組み込み関数があり、その多くは私たちが使用したことがありますが、ほとんどの人が馴染みのない関数もまだたくさんありますが、それらは非常に便利です。この記事では、目を輝かせるあまり知られていない PHP 関数をいくつかリストします。
levenshtein()
2 つの単語がどのように異なるかを知りたいときを経験したことがありますか? この関数は、この問題を解決するためにあります。 2 つの文字列の違いを比較できます。
使用法:
<?php $str1 = "carrot"; $str2 = "carrrott"; echo levenshtein($str1, $str2); //Outputs 2 ?>
get_define_vars()
これは、デバッグ中に非常に便利な関数です。この関数は、定義されたすべての変数を含む多次元配列を返します。
使い方:
<?php print_r(get_defined_vars()); ?>
php_check_syntax()
この関数は非常に便利で、PHPの構文が正しいかどうかをチェックするために使用できます。技術的な理由により、この関数は PHP 5.05 以降では削除されました。
使用法:
<?php $error_message = ""; $filename = "./php_script.php"; if(!php_check_syntax($filename, &$error_message)) { echo "Errors were found in the file $filename: $error_message"; } else { echo "The file $filename contained no syntax errors"; } ?>
ignore_user_abort()
この関数は、スクリプトの実行を終了するブラウザ ユーザーの要求を拒否するために使用されます。通常の状況では、クライアントが終了すると、サーバー側スクリプトの実行が停止します。
使用法:
<?php ignore_user_abort(); ?>
highlight_string()
highlight_string() 関数は、ページ上に PHP コードを表示したい場合に非常に便利です。この関数は、組み込みの PHP 構文強調表示によって定義された色を使用して、提供した PHP コードを強調表示します。この関数には 2 つのパラメータがあります。最初のパラメータは文字列で、この文字列を強調表示する必要があることを示します。 2 番目のパラメーターが TRUE に設定されている場合、この関数は強調表示されたコードを戻り値として返します。
使い方
<?php highlight_string(' <?php phpinfo(); ?>'); ?>
highlight_file
これは、指定された PHP ファイルを返し、構文とセマンティクスに従ってファイルの内容を強調表示色で強調表示する非常に便利な PHP 関数です。強調表示されたコードは、HTML マークアップを使用して処理されます。
使用法:
<?php highlight_file("php_script.php"); ?>
php_strip_whitespace
この関数も前の show_source() 関数と似ていますが、ファイル内のコメントとスペースを削除します。
使用法:
<?php echo php_strip_whitespace("php_script.php"); ?>
get_browser
この関数は、browscap.ini ファイルを読み取り、ブラウザーの互換性情報を返します。
使用法:
<?php echo $_SERVER['HTTP_USER_AGENT']; $browser = get_browser(); print_r($browser); ?>
memory_get_usage()、memory_get_peak_usage()、getrusage()
これらの関数は、メモリと CPU の使用量を取得するために使用されます。関数はメモリの使用量のピークを返し、getrusage() は CUP の使用量を返します。これらの関数は、PHP コードのパフォーマンスをデバッグするときに役立つ情報を提供します。ただし、これらの機能は Windows では無効であることに注意してください。
使用法:
<?php echo "Initial: ".memory_get_usage()." bytes \n"; echo "Peak: ".memory_get_peak_usage()." bytes \n"; $data = getrusage(); echo "User time: ". ($data['ru_utime.tv_sec'] + $data['ru_utime.tv_usec'] / 1000000); echo "System time: ". ($data['ru_stime.tv_sec'] + $data['ru_stime.tv_usec'] / 1000000); ?>
gzcompress()、gzuncompress()
これら 2 つの関数は、文字列データの圧縮と解凍に使用されます。圧縮率は約 50% に達することがあります。他の関数 gzencode() と gzdecode() は同様の結果を達成できますが、使用する圧縮アルゴリズムが異なります。
使用法:
<?php $string = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc ut elit id mi ultricies adipiscing. Nulla facilisi. Praesent pulvinar, sapien vel feugiat vestibulum, nulla dui pretium orci, non ultricies elit lacus quis ante. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam pretium ullamcorper urna quis iaculis. Etiam ac massa sed turpis tempor luctus. Curabitur sed nibh eu elit mollis congue. Praesent ipsum diam, consectetur vitae ornare a, aliquam a nunc. In id magna pellentesque tellus posuere adipiscing. Sed non mi metus, at lacinia augue. Sed magna nisi, ornare in mollis in, mollis sed nunc. Etiam at justo in leo congue mollis. Nullam in neque eget metus hendrerit scelerisque eu non enim. Ut malesuada lacus eu nulla bibendum id euismod urna sodales. "; $compressed = gzcompress($string); $original = gzuncompress($compressed); ?>