ホームページ >バックエンド開発 >PHPチュートリアル >10 あまり一般的ではないが非常に便利な PHP 関数_PHP チュートリアル
1.sys_getloadavg()関数
sys_getloadavt()でシステムの負荷状況を取得できます。この関数は 3 つの要素を含む配列を返します。各要素は過去 1、5、15 分間のシステムの平均負荷を表します。
過剰な負荷によってサーバーをクラッシュさせるよりも、システム負荷が非常に高いときにスクリプトを積極的に停止する方が、この機能を実現しやすくするために使用されます。 残念ながら、この機能は Windows では無効です。
2.pack()関数
Pack() は、md5() によって返された 32 ビットの 16 進文字列を 16 ビットのバイナリ文字列に変換できるため、ストレージ領域を節約できます。
3. cal_days_in_month()
cal_days_in_month() は、指定された月の日数を返すことができます。
4. _()関数
WordPress 開発者は、_e() とともにこの関数をよく目にします。これら 2 つの関数は同じ機能を持ち、gettext() 関数と組み合わせて使用することで Web サイトの多言語化を実現できます。詳細については、PHP マニュアルの該当部分を参照してください。
5. get_browser() 関数
ページを送信する前に、ユーザーのブラウザで何ができるかを確認できたら便利だと思いませんか? get_browser() はユーザーのブラウザの種類とブラウザでサポートされている関数を取得できますが、まず関数の参照ファイルとして機能する php_browscap.ini ファイルが必要です。
この関数によるブラウザの機能の判断は、このタイプのブラウザの一般的な特性に基づいていることに注意してください。たとえば、ユーザーがブラウザーで JavaScript サポートをオフにしている場合、関数はこれを知る方法がありません。ただし、この関数はブラウザの種類と OS プラットフォームを非常に正確に判断します。
6. debug_print_backtrace() 関数
これは、コード内の論理エラーを見つけるのに役立つデバッグ機能です。この関数を理解するために、例を見てみましょう:
$a = 0;
関数 iterate() {
グローバル $a;
if( $a
recur();
エコー $a . ", ";
}
関数 recur() {
グローバル $a;
$a++;
// どうやってここに来たの?
エコー「んん」;
debug_print_backtrace();
if( $a
反復();
}
反復();
#出力:
#0 recur() が [C:htdocsphp_stuffindex.php:8] で呼び出されました
#1 iterate() が [C:htdocsphp_stuffindex.php:25] で呼び出されました
#0 recur() が [C:htdocsphp_stuffindex.php:8] で呼び出されました
#1 iterate() が [C:htdocsphp_stuffindex.php:21] で呼び出されました
#2 recur() が [C:htdocsphp_stuffindex.php:8] で呼び出されました
#3 iterate() が [C:htdocsphp_stuffindex.php:25] で呼び出されました
#0 recur() が [C:htdocsphp_stuffindex.php:8] で呼び出されました
#1 iterate() が [C:htdocsphp_stuffindex.php:21] で呼び出されました
#2 recur() が [C:htdocsphp_stuffindex.php:8] で呼び出されました
#3 iterate() が [C:htdocsphp_stuffindex.php:21] で呼び出されました
#4 recur() が [C:htdocsphp_stuffindex.php:8] で呼び出されました
#5 iterate() が [C:htdocsphp_stuffindex.php:25] で呼び出されました
7.metaphone()関数
この関数は、同じ発音を持つ単語のメタフォン値を返します。つまり、この関数は 2 つの単語の発音が同じかどうかを判断するのに役立ちます。ただし中国語には無効です。 。 。
8. natsort() 関数
natsort() は自然な並べ替えで配列を配置できます。例を見てみましょう:
$items = 配列(
「リンゴ100個」「リンゴ5個」「リンゴ110個」「リンゴ55個」
);
// 通常のソート:
並べ替え($items);
print_r($items);
#出力:
#配列
#(
# [0] => リンゴ 100 個
# [1] => リンゴ 110 個
# [2] => リンゴ 5 個
# [3] => リンゴ 55 個
#)
natsort($items);
print_r($items);
#出力:
#配列
#(
# [2] => リンゴ 5 個
# [3] => リンゴ 55 個
# [0] => リンゴ 100 個
# [1] => リンゴ 110 個
#)
9. levenshtein() 関数
Levenshtein() は 2 つの単語間の「距離」を示します。ある単語を別の単語に変更する場合に、挿入、置換、削除する必要がある文字の数がわかります。
例を見てみましょう:
$dictionary = 配列(
「php」、「javascript」、「css」
);
$word = “japhp”;
$best_match = $dictionary[0];
$match_value = レーベンシュタイン($dictionary[0], $word);
foreach($dictionary as $w) {
$value = レーベンシュタイン($word, $w);
if( $value
$best_match = $w;
$match_value = $value;
}
}
echo 「'$best_match' カテゴリのことですか?」;
10. glob() 関数
glob() を使用すると、opendir()、readdir()、closedir() を使ってファイルを検索するのが愚かに感じられます。
foreach (glob(“*.php”) as $file)
エコー「$filen」;
lsoftwolfブログより抜粋