ホームページ >バックエンド開発 >PHPチュートリアル >珍しいが非常に便利な PHP 関数

珍しいが非常に便利な PHP 関数

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-20 13:00:24857ブラウズ

長年働いてきた古い PHP プログラマーの要約によると、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()

これは、コード内の論理エラーを見つけるのに役立つデバッグ関数です。この関数を理解するために、例を見てみましょう:

<p><?php</p>$a=0;<br />function iterate(){<br />	global $a;<br />	if($a<10){<br />		recur();<br />	}<br />	echo $a.", ";<br />} <br />function recur(){<br />	global $a;<br />	$a++;<br />	echo "\n\n\n";<br />	debug_print_backtrace();<br />	if($a<10){<br />		iterate();<br />	}<br />} <br /><p>iterate();</p>

この例のプログラムが何をしているか知っていますか?実は私もよく分かりませんでしたが、そんなことは重要ではありません!重要なのは、次の内容が出力されることです:

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] で呼び出される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() は自然な並べ替え方法で配列を配置できます。例を見てみましょう:

<p><?php</p>$items=array('100 apples','5 apples','110 apples','55 apples');<br />sort($items);<br />print_r($items);<br />natsort($items);<br /><p>print_r($items);</p>

出力結果は次のとおりです:

Array(

[0] => 100 個のリンゴ
[1] => 110 個のリンゴ
[ 2] => リンゴ 5 個
[3] => リンゴ 55 個
)
Array(
[2] => リンゴ 5 個
[3] => リンゴ 55 個
[0 ] => リンゴ 100 個
[1] => リンゴ 110 個

9.levenshtein()

Levenshtein()間の「距離」という 2 つの単語のうちの 1 つ。ある単語を別の単語に変更する場合に、挿入、置換、削除する必要がある文字の数がわかります。 例を見てみましょう:

<p><?php</p>$dictionary=array("php","javascript","css");<br />$word="japhp";<br />$best_match=$dictionary[0];<br />$match_value=levenshtein($dictionary[0], $word);<br />foreach($dictionary as $w){<br />	$value=levenshtein($word,$w);<br />	if($value<$match_value){ <br />		$best_match=$w;<br />		$match_value=$value;<br />	}<br />}<br /><p>echo "Did you mean the '",$best_match,"' category?";</p>

10.glob()

glob() を使用すると、opendir() を使用するようになります。 、readdir () および Closedir() はファイルを見つけるのに非常に愚かです。この関数は、指定されたパターンに一致するファイル名またはディレクトリを返します。

この関数は、一致するファイル/ディレクトリを含む配列を返します。エラーが発生した場合は false を返します。

<p><?php</p>foreach(glob("*.php") as $file){<br />	echo "$file\n";<br />}
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。