関数は PHP の力の源ですが、多くの PHP 関数は十分に活用されていません。ここでは、あまり見かけないけどとても便利な機能を10個簡単に紹介します。
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;
function iterate() {
global $a;
if($a < 10) recur();
echo $a. ", "; / どうやってここに来ましたか?
debug_print_backtrace(); で呼び出されました。 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 [C:htdocsphp_stuffindex.php:21] で呼び出される iterate()#2 [C:htdocsphp_stuffindex.php:8] で呼び出される recur()
#3 iterate() [C:htdocsphp_stuffindex.php:21] で呼び出される#4 [C:htdocsphp_stuffindex.php:8] で呼び出される recur()
#5 [C:htdocsphp_stuffindex.php:25] で呼び出される iterate() 7 () この関数は単語のメタフォン値を返します。同じ発音の単語は同じメタフォン値を持ちます。つまり、この関数は 2 つの単語の発音が同じかどうかを判断するのに役立ちます。 8. natsort() natsort() は自然な並べ替えで配列を配置できます: Php コード $items = array( “100 apples”, “5 apples ”, “ 110 個のリンゴ」、55 個のリンゴ」 // 通常の並べ替え: print_r($items);
# 出力:
# 配列
# (
# [0] => 100 個のリンゴ
# [1] => 110 個のリンゴ
# [2] => 5 個のリンゴ
# [3] => 55リンゴ
# )
Php コード
natsort($items);
print_r($items);
# 配列# (
# [2] => 5 個のリンゴ
# [ 3] => 55 個のリンゴ
# [0] => 100 個のリンゴ
# )
9. levenshtein()
Levenshtein() は 2 つの単語間の距離を示します。距離"。ある単語を別の単語に変更する場合に、挿入、置換、削除する必要がある文字の数がわかります。
例を見てみましょう:
Php コード
$dictionary = array( "php", "javascript", "css"
);
$word = "japhp"; Dictionary[0];
$match_value = levenshtein($dictionary[0], $word);
foreach($dictionary as $w) {
$value = levenshtein($word, $w); ( $value < $match_value ) {
$best_match = $w;
$match_value = $value;
}
10. glob()
glob( ) ファイルを検索するために opendir()、readdir()、closedir() を使用するのは愚かに感じられます。
Php コード
foreach (glob(“*.php”) as $file) echo “$filen”;