8つの便利なPHP関数のまとめ

Jun 20, 2016 pm 01:03 PM
PHP関数

1. シャットダウン関数を登録する register_shutdown_function() という関数を使用すると、スクリプト全体がシャットダウンされる前にコードを実行できます。次の例を見てみましょう:

// capture the start time$start_time = microtime(true);<br /><br />// do some stuff<br />// ...<br /><br />// display how long the script took<br />echo "execution took: ". (microtime(true) - $start_time)." seconds.";
ログイン後にコピー

上記の例は、特定の関数の実行時間を計算するためにのみ使用されます。

その後、関数の途中で exit() 関数を呼び出した場合、最終的なコードは実行されません。また、ブラウザでスクリプトが終了した場合 (ユーザーが停止ボタンを押した場合)、スクリプトは実行できません。 register_shutdown_function() を使用すると、スクリプトが停止した後でもプログラムが実行されます。

2. Glob() を使用してファイルを検索します。多くの PHP 関数には比較的長い関数名が付いていますが、glob() を見ただけでは、この関数が何なのかわからないかもしれません。すでによく知っている場合を除き、使用されます。

この関数は、ファイルの検索に使用できる scandir() と考えることができます。

<p>// 取当前目录下的所有的PHP文件和TXT文件</p>$files = glob('*.{php,txt}', GLOB_BRACE);<br />print_r($files);<br />/* 输出:<br />Array<br />(    <br />[0] => phptest.php    <br />[1] => pi.php    <br />[2] => post_output.php  <br />[3] => test.php    <br />[4] => log.txt  <br />[5] => test.txt<br />)<br /><p>*/
ログイン後にコピー

3. メモリ使用量情報 プログラムのメモリ使用量を観察すると、コードをより適切に最適化できます。

PHP には、ガベージ コレクション メカニズムと非常に複雑なメモリ管理メカニズムがあります。スクリプトが使用しているメモリの量を確認できます。現在のメモリ使用量を知るには、memory_get_usage() 関数を使用できます。ピークのメモリ使用量を知りたい場合は、memory_get_peak_usage() 関数を呼び出すことができます。

<p>echo "Initial: ".memory_get_usage()." bytes n";</p>/* 输出<br />Initial: 361400 bytes<br />*/<br /><br />// 使用内存<br />for ($i = 0; $i < 100000; $i++) {  <br />	$array []= md5($i);<br />}<br /><br />// 删除一半的内存<br />for ($i = 0; $i < 100000; $i++) {    <br />	unset($array[$i]);<br />}<br /> <br />echo "Final: ".memory_get_usage()." bytes n";<br />/* prints<br />Final: 885912 bytes<br />*/<br /><br />echo "Peak: ".memory_get_peak_usage()." bytes n";<br />/* 输出峰值<br />Peak: 13687072 bytes<br /><p>*/
ログイン後にコピー

4.getrusage() 関数を使用した CPU 使用率情報により、CPU 使用率を知ることができます。

この機能は Windows では利用できないことに注意してください。

ru_oublock: ブロック出力操作

ru_inblock: ブロック入力操作
ru_msgsnd: 送信メッセージ
ru_msgrcv: 受信メッセージ
ru_maxrss: 最大常駐セットサイズ
ru_ixrss : 総共有メモリsize
ru_idrss: 非共有メモリの合計サイズ
ru_minflt: ページのリサイクル
ru_majflt: ページの無効化
ru_nsignals: 受信シグナル
ru_nvcsw: アクティブなコンテキスト スイッチ
ru_nivcsw : パッシブなコンテキスト スイッチング
ru_nswap: スワップ領域
ru_utime.tv_usec: ユーザーモード時間 (マイクロ秒)
ru_utime.tv_sec: ユーザーモード時間 (秒)
ru_stime.tv_usec: システムカーネル時間 (マイクロ秒)

ru_stime.tv_sec: システム カーネル時間? (秒) 5. システム定数 PHP は、現在の行番号 (__LINE__)、ファイル (__FILE__)、ディレクトリ (__DIR__)、関数名 (__FUNCTION__) を取得できる非常に便利なシステム定数を提供します。 , クラス名(__CLASS__)、メソッド名(__METHOD__)、名前空間(__NAMESPACE__)はC言語とよく似ています。

これらは主にデバッグに使用されると考えられますが、必ずしもそうではありません。たとえば、他のファイルをインクルードする場合は ?__FILE__ を使用できます (もちろん、PHP 5.3 以降では __DIR__ を使用することもできます)

6. 一意の ID を生成する。実際、PHP には、これを行うために特別に使用される md5() という関数があります。 🎜>

生成された ID の最初の数桁が同じであることに気づくかもしれません。これは、ジェネレータがシステム時間に依存しているためです。これは、簡単に実行できるためです。 IDを並べ替えます。 MD5 ではこれができません。
<p>echo uniqid();</p>/* 输出<br />4bd67c947233e<br />*/<br />echo uniqid();<br />/* 输出<br />4bd67c9472340<br /><p>*/
ログイン後にコピー

7. シリアル化 より複雑なデータ構造をデータベースまたはファイルに保存しますか?独自のアルゴリズムを作成する必要はありません。

PHP はすでにそれを行っています:も圧縮されます。

PHP は gzcompress() および gzuncompress() 関数を提供します:

ほぼ 50% の圧縮率。
<p>$string =</p>"Lorem ipsum dolor sit amet, consectetur<br />adipiscing elit. Nunc ut elit id mi ultricies<br />adipiscing. Nulla facilisi. Praesent pulvinar,<br />sapien vel feugiat vestibulum, nulla dui pretium orci,<br />non ultricies elit lacus quis ante. Lorem ipsum dolor<br />sit amet, consectetur adipiscing elit. Aliquam<br />pretium ullamcorper urna quis iaculis. Etiam ac massa<br />sed turpis tempor luctus. Curabitur sed nibh eu elit<br />mollis congue. Praesent ipsum diam, consectetur vitae<br />ornare a, aliquam a nunc. In id magna pellentesque<br />tellus posuere adipiscing. Sed non mi metus, at lacinia<br />augue. Sed magna nisi, ornare in mollis in, mollis<br />sed nunc. Etiam at justo in leo congue mollis.<br />Nullam in neque eget metus hendrerit scelerisque<br />eu non enim. Ut malesuada lacus eu nulla bibendum<br />id euismod urna sodales. ";<br /><br />$compressed = gzcompress($string);<br /><br />echo "Original size: ". strlen($string)."n";<br />/* 输出原始大小<br />Original size: 800<br />*/<br /><br />echo "Compressed size: ". strlen($compressed)."n";<br />/* 输出压缩后的大小<br />Compressed size: 418<br />*/<br /><br />// 解压缩<br /><p>$original = gzuncompress($compressed);
ログイン後にコピー

同時に、?gzencode() 関数と gzdecode() 関数を使用して圧縮することもできますが、使用する圧縮アルゴリズムは異なります。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP関数を通じて画像の遅延読み込み効果を最適化するにはどうすればよいですか? PHP関数を通じて画像の遅延読み込み効果を最適化するにはどうすればよいですか? Oct 05, 2023 pm 12:13 PM

PHP 関数を通じて画像の遅延読み込み効果を最適化するにはどうすればよいですか?インターネットの発展に伴い、Web ページ内の画像の数が増加し、ページの読み込み速度に圧力がかかっています。ユーザーエクスペリエンスを向上させ、読み込み時間を短縮するために、画像の遅延読み込みテクノロジーを使用できます。画像の遅延読み込みにより、画像の読み込みが遅れる可能性があります。画像は、ユーザーが表示領域までスクロールしたときにのみ読み込まれるため、ページの読み込み時間が短縮され、ユーザー エクスペリエンスが向上します。 PHP Web ページを作成する場合、いくつかの関数を作成することで画像の遅延読み込み効果を最適化できます。詳細は以下

PHP関数を使用してメモリ使用量を削減するにはどうすればよいですか? PHP関数を使用してメモリ使用量を削減するにはどうすればよいですか? Oct 05, 2023 pm 01:45 PM

PHP 関数を使用してメモリ使用量を削減する方法 開発において、メモリ使用量は非常に重要な考慮事項です。プログラムで大量のメモリが使用されると、速度が低下したり、プログラムがクラッシュしたりする可能性があります。したがって、メモリ使用量を合理的に管理し削減することは、すべての PHP 開発者が注意を払うべき問題です。この記事では、PHP 関数を通じてメモリ使用量を削減するいくつかの方法を紹介し、読者の参考となる具体的なコード例を示します。 PHP で変数を解放するには、unset() 関数を使用します。変数が不要になった場合は、次を使用します。

PHP 関数の紹介—curl_multi_getcontent(): cURL セッションのコンテンツを取得する PHP 関数の紹介—curl_multi_getcontent(): cURL セッションのコンテンツを取得する Jul 26, 2023 pm 03:01 PM

PHP 関数の紹介—curl_multi_getcontent(): cURL セッションのコンテンツを取得する PHP 開発では、ネットワークを介して他のサーバーにデータを要求することがよくあります。 cURL (ClientURL) は、PHP でのネットワーク通信に使用される強力な PHP 拡張ライブラリです。 cURL は一連の関数を提供します。そのうちの 1 つは、cURL セッションのコンテンツを取得するために使用されるcurl_multi_getcontent()です。

PHP の非推奨: 関数 ereg_replace() は非推奨です - 解決策 PHP の非推奨: 関数 ereg_replace() は非推奨です - 解決策 Aug 18, 2023 am 10:48 AM

PHPDeprecated: Functionereg_replace()isdeprecated-Solution PHP で開発する場合、一部の関数が非推奨と宣言されるという問題によく遭遇します。これは、最新の PHP バージョンでは、これらの関数が削除または置き換えられる可能性があることを意味します。一般的な例の 1 つは ereg_replace() 関数です。 ereg_replace

PHPの画像処理機能を利用した画像編集・加工機能の実装方法まとめ PHPの画像処理機能を利用した画像編集・加工機能の実装方法まとめ Nov 20, 2023 pm 12:31 PM

PHPの画像処理関数は、画像の加工・編集に特化した関数群であり、開発者に豊富な画像処理機能を提供します。これらの機能を通じて、開発者は画像のトリミング、拡大縮小、回転、透かしの追加などの操作を実装して、さまざまな画像処理のニーズを満たすことができます。まずはPHPの画像処理関数を使って画像の切り抜き機能を実現する方法を紹介します。 PHP には、画像のトリミングに使用できる imagecrop() 関数が用意されています。トリミング領域の座標とサイズを渡すことで、画像をトリミングできます

PHP 関数の概要: strtr() 関数 PHP 関数の概要: strtr() 関数 Nov 03, 2023 pm 12:15 PM

PHP 関数の紹介: strtr() 関数 PHP プログラミングにおいて、strtr() 関数は非常に便利な文字列置換関数です。文字列内の指定した文字または文字列を他の文字または文字列に置き換えるのに使用されます。この記事では、strtr() 関数の使用法を紹介し、具体的なコード例をいくつか示します。 strtr() 関数の基本構文は次のとおりです。 strtr(string$str, array$replace) ここで、$str は置換される元の単語です。

PHP 関数と他の言語の関数の比較 PHP 関数と他の言語の関数の比較 Apr 10, 2024 am 10:03 AM

PHP 関数には他の言語の関数との類似点がありますが、いくつかの独自の機能もあります。構文的には、PHP 関数は function で宣言され、JavaScript は function で宣言され、Python は def で宣言されます。パラメータと戻り値の点では、PHP 関数はパラメータを受け入れて値を返します。JavaScript と Python にも同様の関数がありますが、構文が異なります。スコープに関しては、PHP、JavaScript、Python の関数はすべてグローバル スコープまたはローカル スコープを持ち、グローバル関数にはどこからでもアクセスできますが、ローカル関数には宣言スコープ内でのみアクセスできます。

PHP 関数のパフォーマンスはどの程度ですか? PHP 関数のパフォーマンスはどの程度ですか? Apr 18, 2024 pm 06:45 PM

さまざまな PHP 関数のパフォーマンスは、アプリケーションの効率にとって非常に重要です。パフォーマンスの良い関数には echo や print などがありますが、str_replace、array_merge、file_get_contents などの関数のパフォーマンスは低くなります。たとえば、str_replace 関数は文字列の置換に使用され、中程度のパフォーマンスを発揮しますが、sprintf 関数は文字列の書式設定に使用されます。パフォーマンス分析によると、1 つの例の実行にかかる時間はわずか 0.05 ミリ秒であり、関数が適切に実行されることが証明されています。したがって、関数を賢く使用すると、アプリケーションをより高速かつ効率的に実行できます。

See all articles