PHP 開発を行ったプログラマーは、PHP に多くの組み込み関数があることを知っておく必要があります。これらをマスターすると、PHP 開発がより快適になります。そのすべてが非常に便利です。実践的には、すべての PHP 開発者がそれをマスターできることを願っています。
1. 任意の数の関数パラメーターを渡します
2. glob() を使用してファイルを検索します
4. CPU 使用率情報を取得します
6. 固有の ID を生成します
7. 8、文字列圧縮
1. 任意の数の関数パラメータを渡す。.NET または JAVA プログラミングでは、関数パラメータの数は通常固定されていますが、PHP では任意の数のパラメータを使用できます。次の例は、PHP 関数のデフォルトのパラメーターを示しています:
コードをコピーします
echo "arg2: $arg2n";
}
foo('hello','world');
/* 出力:
arg1: hello
arg2: world
* /
foo ();
/* 出力:
arg1:
arg2:
*/
次の例は、func_get_args() メソッドを使用する PHP の変数パラメーターの使用法です。
// はい、仮パラメーター リストは空です
function foo () {
// すべての受信パラメータの配列を取得します
$args = func_get_args();
foreach ($args as $k => $v) {
echo "arg".($k+1) . ": $vn";
}
}
foo();
/* 何も出力されません*/
foo('hello')
/* 出力
arg1: hello
*/
foo('hello' , 'world', 'again');
/* 出力
arg1: こんにちは
arg2: world
arg3: again
*/
2. glob() を使用してファイルを検索します。ほとんどの PHP 関数の関数名は文字通りその目的を理解できますが、実際には glob() が何に使われているかがわからない場合があります。 scandir() は、ファイルの検索に使用できます。以下の使用法を参照してください:
コードをコピーします
/* 出力:
配列
(
[0] => phptest.php
[1] => pi.php
[2] => ; post_output.php
[3] => test.php
)
*/
複数のサフィックス名を検索することもできます:
コードをコピーします
Array
(
[0] => phptest) .php
[1] => pi.php
[2] => post_output.php
[3] => test.php
[4] => log.txt
[5] => test.txt
)
*/
パスを追加することもできます:
コードをコピーします
[0] => ../images/apple.jpg
[1] => ../images/art.jpg
)
*/
必要に応じて、絶対パスの場合は、realpath() 関数を呼び出すことができます:
コードは次のとおりです:
(
[0] =>C:wampwwwimagesapple.jpg
[1 ] =>C:wampwwwimagesart.jpg
*/
3. メモリ使用量情報を取得する PHP のメモリ リサイクル メカニズムは、すでに非常に強力です。PHP スクリプトを使用して現在のメモリ使用量を取得し、memory_get_peak_usage() 関数を呼び出すこともできます。メモリ使用量のピークを取得します。参照コードは次のとおりです:
コードをコピーします
echo "Initial: ".memory_get_usage()." bytes n"
// メモリの半分を削除
for ( $i = 0; $i < ; $i++) {
unset($array[$i]);
echo ".memory_get_usage()."
Final を出力します。 : 885912 バイト
*/
echo "ピーク: ".memory_get_peak_usage()." バイト n";
/* 出力ピーク
ピーク: 13687072 バイト
*/
4. CPU 使用率情報を取得する メモリ使用率を取得した後、PHP の getrusage() を使用して CPU 使用率を取得することもできます。この方法は Windows では使用できません。
print_r(getrusage());
/* Output
Array
(
[ru_oublock] => 0
[ru_inblock] => 0
[ ru_msgsnd ] = > 2
[ru_msgrcv] => 3
[ru_ixrss] => 764
[ru_minflt] => 94
[ru_majfl t ] => 0
[ru_nvcsw] => 67
[ru_nswap] => 0 ru_utime .tv_sec] = > 0
[ru_stime.tv_usec] => 6269
[ru_stime.tv_sec] => 0
)
*/
この構造は、CPU についてよく知らない限り、非常にわかりにくく見えます。以下にいくつか説明します。 ru_oublock: ブロック出力操作 ru_inblock: ブロック入力操作 ru_msgsnd: 送信メッセージ ru_msgrcv: 受信メッセージ ru_maxrss: 常駐セットの最大サイズ ru_ixrss: 共有メモリーの合計サイズ 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: システム カーネル時間? (秒) スクリプトが消費する CPU の量を確認するには、「ユーザー モード時間」と「システム カーネル時間」の値を確認する必要があります。秒とマイクロ秒の部分は個別に提供されます。マイクロ秒の値を 100 万で割って秒の値に加算すると、小数部付きの秒数を取得できます。
コードをコピー
($data['ru_stime.tv_sec'] +
$data[ 'ru_stime.tv_usec'] / 1000000);
/* 出力
ユーザー時間: 0.011552
システム時間: 0
*/
はシステム時間を消費しません。 code
コードは次のとおりです。
// 1,000 万回ループ (ビジー)
$data = getrusage(); "ユーザー時間: " .
*/
これには約 14 秒の CPU 時間がかかり、ほぼすべてがユーザーの時間でしたシステムコールがないためです。従来の時間は、CPU がシステム コールでカーネル命令の実行に費やす時間です。以下に例を示します。
コードをコピーします
コードは次のとおりです:
$start = microtime(true);
// microtime を約 3 秒間呼び出し続けます
while(microtime(true) – $ start }
$data = getrusage();
echo "ユーザー時間: ".
* /
上記の例では、より多くの CPU が消費されます。
5. システム定数の取得 PHP は、現在の行番号 (__LINE__)、ファイル (__FILE__)、ディレクトリ (__DIR__)、関数名 (__FUNCTION__)、クラス名 (__CLASS__)、メソッド名 ( __METHOD__) と名前空間 (__NAMESPACE__) は、C 言語とよく似ています。
これらは主にデバッグに使用されると考えられますが、必ずしもそうではありません。たとえば、他のファイルをインクルードする場合は、?__FILE__ を使用できます (もちろん、PHP 5.3 以降では __DIR__ を使用することもできます)。
コードをコピーします
コードは次のとおりです:
// これはロードされたスクリプトのパスに相対的です
require_once('config/database.php '); // これは常にこのファイルのパスに対して相対的です
// どこからインクルードされたかに関係なく
require_once(dirname(__FILE__) . '/config/database.php')
コードは次のとおりです:
// いくつかのコード
// …
my_debug("some debug message", __LINE__);
/* 出力
4 行目: いくつかのデバッグ メッセージ
*/
// いくつかのコード
// …
my_debug("別のデバッグ メッセージ", __LINE__);
/* 出力
11 行目: 別のデバッグ メッセージ
*/
function my_debug($msg, $line) {
echo "Line $line: $msgn";
}
6. 一意の ID を生成します。多くの友人が md5() を使用して一意の番号を生成しますが、md5() にはいくつかの欠点があります。 1. 順序が乱れているため、データベースの並べ替えパフォーマンスが低下します。 2. 長すぎるため、より多くの保管スペースが必要になります。実際、PHP には一意の ID を生成する関数が付属しています。この関数は uniqid() です。使用方法は次のとおりです:
// 一意の文字列を生成します
echo uniqid();
/* 出力
4bd67c947233e
*/
// 別の一意の文字列を生成しますstring
echo uniqid () ;
/* Output
4bd67c9472340
*/
このアルゴリズムは CPU タイムスタンプに基づいて生成されるため、同様の期間では ID の最初の数桁は同じになります。必要に応じて、ID を並べ替えるのに便利です。重複をよりよく回避するには、次のような ID の前にプレフィックスを追加できます。
// Prefix
echo uniqid( 'foo_');
/* 出力
foo_4bd67d6cd8b8f
* /
// より多くのエントロピーがあります
echo uniqid(",true);
/* 出力
4bd67d6cd8b926.12135106
*/
// 両方
エコーuniqid(' bar_',true);
/* 出力
bar_4bd67da367b650.43684647
*/
7. シリアル化 PHP のシリアル化関数は、データをデータベースまたはファイルに保存する必要がある場合に、シーケンス化と unserialize() メソッドを使用して使用することができます。逆シリアル化の場合、コードは次のとおりです:
// 複雑な配列
$myvar = array(
'hello',
42,
array(1, 'two '),
'apple'
);
// シリアル化
$string = seriesize($myvar)
/* 出力
a:4:{i:0;s:5:"こんにちは ";i:1;i:42;i:2;a:2:{i:0;i:1;i:1;s:3:"2";}i:3;s:5:" apple ";}
*/
// アンシリアル化
$newvar = unserialize($string);
print_r($newvar);
/* 出力
Array
(
[0] => こんにちは
[1] => ; 42
[2] => 配列
(
[0] => 1
[1] => 2
)
*/
順序付け方法PHP 5.2 以降を使用しているユーザーは、json_encode() 関数と json_decode() 関数を使用して json 形式をシリアル化できます。コードは次のとおりです:
コードをコピーします。コードは次のとおりです:
'apple'
); string
$string = json_encode($myvar);
echo $string;
/* prints
["hello",42,[1,"two"],"apple"]
*/
//元の変数
$newvar = json_decode($string);
print_r($newvar);
/*
Array
(
[0] => こんにちは
[1] => 42
[2] =>配列
(
[0] => 1
[1] => 2
)
[3] => リンゴ
)
*/
8. 文字列の圧縮 圧縮というと、ファイルの圧縮を思い浮かべるかもしれません。実際、文字列も圧縮できます。 PHP は gzcompress() および gzuncompress() 関数を提供します:
コードは次のとおりです:
$string =
「ローレムの痛み自体は愛されるべきです、それは
脂肪性エリートに続きます。今、エリートとして私のULTRICIES
ADIPSING。簡単なことは何もありません。Praesent pulvinar、
sapienまたはfeugeat前庭、dui価格orci、
no ultriciesエリート湖誰
座って adipiscing エリート さて、それを心に留めましょう、でも心配しないでください、ヘンドレリット・セレリスク
eu ではありません Ut Malesuada lacus no euismod
id euismod メンバー ";
$compressed = gzcompress($string);
「元のサイズ:」をクリックします。 strlen($string)."n";
/* 出力元のサイズ
元のサイズ: 800
*/
echo "圧縮サイズ: ". strlen($compressed)."n";
/* 出力圧縮サイズ: 418 および gzdecode() 関数の来光ストーリー、異なる光の前前ストーリーを使用するだけです。
上記は 8 つの必須の PHP 関数ですが、非常に実用的ではないでしょうか
http://www.bkjia.com/PHPjc/824926.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/824926.html
技術記事
做过PHP 開発のプログラマ员名电影,PHP には多くの組み込み関数があり、それらをマスターすると、PHP 開発の際にさらに役立つ心应手を得ることができます。テキスト将分享 8 个应用必备的...

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

メモ帳++7.3.1
使いやすく無料のコードエディター

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません
