ホームページ  >  記事  >  php教程  >  いくつかの無視された PHP 関数 (簡単に整理)

いくつかの無視された PHP 関数 (簡単に整理)

WBOY
WBOYオリジナル
2016-06-13 12:17:11736ブラウズ

sys_getloadavg()
この関数は、現在のシステムの負荷平均情報を返します (もちろん、Windows では適用できません)。詳細なドキュメントについては、関連する PHP ドキュメントを参照してください。ドキュメントにはサンプルコードがあり、基本的にその使用方法がわかります。

コードをコピー コードは次のとおりです。


$load = sys_getloadavg(); 🎜>if ($load[0] > 80) {
header('HTTP/1.1 503 ビジーです。後でもう一度お試しください。');
die('サーバーがビジーです。後でもう一度お試しください。') ;
}

PS、「残念ながら」お使いの PHP 環境にこの関数がない場合は、

コードをコピー コードは次のとおりです:

if (!function_exists('sys_getloadavg')) {

function sys_getloadavg()
{
$ loadavg_file = '/proc/loadavg';
if (file_exists($loadavg_file)) {
returnexplore(chr(32),file_get_contents($loadavg_file));
return array(0) ,0,0);
}
}


この機能を適切に使用すると、サーバーへの負荷を軽減できます。


pack()

pack バイナリ文字列を圧縮するために使用される、対応する関数もあります。$pass_hash = Pack("H*", md5("my-password")); PHP5 を使用している場合は、これを直接実行できます

$pass_hash = md5("my-password", true) ; // PHP 5 これを行う利点の 1 つは、文字列ストレージ領域を削減できることです (どれくらい節約できるでしょうか? これは別の記事になる可能性があります)。

これも



コードをコピーします

コードは次のとおりです: < ?php

function Pack_array($v,$a) {

return call_user_func_array(pack,array_merge(array($v),(array)$a)); >


cal_days_in_month()

この関数は、指定した月の日数を直接返すことができます。たとえば、
$days = cal_days_in_month(CAL_GREGORIAN) , date("m"), date ("Y")); // 31 あなた自身が同様の関数を実装していることを保証します:^)

_()

これは確かに PHP 関数です (おそらく最も短い PHP 組み込み関数)。 _() はその「ニックネーム」であり、その正式な名前は gettext() です。

WordPress スキンを作成したことのある友人なら、関数 __() と _e() を知っているでしょう。実際、PHP にはすでに関連する関数があります。

コードをコピー

コードは次のとおりです:

// 言語をドイツ語に設定します setlocale(LC_ALL, 'de_DE) ');

// 変換テーブルの場所を指定します

bindtextdomain("myPHPApp", "./locale");

// ドメインを選択します
textdomain("myPHPApp") );

echo _("Have a nice day");


ここで、gettext を使用してロケール ファイルを作成する方法に興味があるかもしれません。 , しかし、これはもう当てはまりません。この記事で説明する重要なポイントについては、こちらを参照してください。


get_browser()


正直、この関数を見たときは泣きそうになりました。この関数を使用すると、文字列 $_SERVER['HTTP_USER_AGENT'] を自分で分析する必要がなくなりました。

詳細については、こちらをご覧ください。この機能を使用する前に、browscap.ini 設定ファイルが必要になる場合がありますが、これは処理できると思います。
debug_print_backtrace()

以前は、関数呼び出しスタックを表示するには、xdebug などの拡張機能を使用していました。実際、PHP5 バージョンには関連する関数が組み込まれています。

ところで、この関数の名前を思い出せない場合は、このコードを使用して同じ目的を達成できます (そうであるようです)。この関数を覚えておくとより確実です):

コードをコピー

コードは次のとおりです:

$e = new Exception(); print_r (str_replace('/path/to/code/', '', $e->getTraceAsString()));natsort()

この関数は次の目的で使用されます。誰もが必要とするかもしれない自然な並べ替え。関連するドキュメントのリンクとサンプル コードを投稿します。


$items = array("100 apples", "5 apples", "110 apples", "55 apples");

// 通常の並べ替え:
sort($items);
print_r($items);
# 出力:
# 配列
# (
# [0] => 100 個のリンゴ
# [1] => リンゴ 110 個
# [2] => リンゴ 5 個
# [3] => リンゴ 55 個
# )

🎜>print_r($items);
# 出力:
# 配列
# (
# [2] => 5 個のリンゴ
# [3] => 55 個のリンゴ
# [0] => 100 個のリンゴ
# [1] => 110 個のリンゴ
# ) 自然ソートのアルゴリズム ルールについては、こちらのドキュメントを参照してください。


glob()
この関数の機能も人々を泣かせます。関数の話はやめて、サンプル コードに直接進みましょう

コードをコピーしてください コードは次のとおりです。


foreach (glob("*.php") as $file) {
echo "$filen";

あなたと比べて この関数の目的を理解したので、ディレクトリを表示するなど、より多くの「遊び」を行うことができます (via):

$dirs = array_filter(glob($path) .'*'), ' is_dir'); もちろん、ファイルの再帰に SPL 拡張子を使用することも検討できます。

Shenxian による補足:

glob にはパラメーター オプション GLOB_ONLYDIR があり、ディレクトリのみをリストできます PHP フィルター
文字列をまだ検証している場合、実際には「アウト」です。 PHP5.2 バージョン以降、組み込みの PHP フィルター モジュールは、メールや URL などが正当かどうかを具体的に検証するために使用されます。 コード例:

var_dump(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL) ));新しいモジュールなので、次のようなトラップがたくさんあります。 ); // bool( false) ただし、これは試行を妨げるものではありません。 PHP Filter について詳しくは、また別の記事で書けると思います。

-- 分割 --

最後に、PHP は実際には長持ちするツールであることを嘆きます。注意しないと、悲劇的に車輪の再発明をすることになります。したがって、時々 PHP ドキュメントを参照すると、毎回新しいことを学ぶことができます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。