ホームページ  >  記事  >  バックエンド開発  >  PHP開発でよく使う関数と知っておくべき関数を例とともにまとめます。

PHP開発でよく使う関数と知っておくべき関数を例とともにまとめます。

WBOY
WBOYオリジナル
2016-06-23 13:38:401047ブラウズ

。この記事では、PHP プログラマーが開発中によく使用する PHP 関数をリストします。ほぼすべての機能にサンプルがあり、ベテランは復習として見ることができ、初心者は理論を覚えてから開発する前にサンプルを何度も入力することで、開発効率が確実に向上します。例のほとんどは、w3cschool の標準例とインターネット上のいくつかのリソースから引用されています。一部は個人によって作成され、テストされています。この記事を読み込む場合は、出典も明記してください。
1. チェック関数

1. empty()
empty() 関数は、変数が設定されているかどうかをテストするために使用されます。変数がすでに存在するか、空でない文字列であるか、ゼロ以外の場合は false 値が返され、それ以外の場合は true 値が返されます。したがって、文字列の値が 0 の場合も true が返され、空の中でステートメントが実行されます。
empty() 関数は値が空かどうかを判断します
変数が存在しない場合は TRUE を返します
変数が存在し、その値が ""、0、"0"、NULL、、FALSE、array()、 var $var; オブジェクトに属性がない場合は TRUE が返されます
変数が存在し、値が ""、0、"0"、NULL、FALSE、array()、var $var; 以外の場合オブジェクトに属性がない場合、FALSE が返されます。
empty() は変数をチェックするだけで、変数ではないものをチェックすると解析エラーが発生します。つまり、次のステートメントは機能しません: empty(addslashes($name))。

2.isset()
isset() 関数は通常、変数が設定されているかどうかを検出するために使用されます。
変数が存在しない場合はFALSEを返す
変数が存在し、その値がNULLの場合もFALSEを返す
変数が存在し、その値がNULLでない場合はTRUEを返す
複数の変数を同時にチェックする場合、各単一項目は前の要件を満たします。 TRUE のみを返します。それ以外の場合、結果は FALSE になります。
unset() を使用して変数を解放した後は、isset() ではなくなります。
たとえば、$id=0 の場合、empty() と isset() を使用して、変数 $id が設定されているかどうかを確認します。両方とも異なる値を返しますか?? empty() は設定がないと判断し、isset() を実行できます。 $id の値を取得します:
変数処理関数を使用するとき、変数の値が 0 になる可能性がある場合、empty() を使用するときは注意してください。この時点ではそれを isset に置き換える方が賢明です。
変数が 0 の場合、empty() は TRUE を返し、isset() は TRUE を返します。
変数が空の文字列の場合、empty() は TRUE を返し、isset() は TRUE を返します。定義されている場合、empty() は TRUE を返し、isset() は FLASE を返します。定数が存在する場合は true を返し、そうでない場合は false を返します。

define("GREETING","Hello world!");
echo constant("GREETING"); //出力: 1
?> 4. is_int()
is_int;変数の型が整数型であるかどうかを判断します。
変数のタイプを決定する他の同様の関数: is_array() is_double() is_float() is_integer() is_long() is_object() is_real() is_string()

--------------- -------------------------------------------------- -------------------------------------------------- -----------------------------------------------


2 . 配列関数
1. array_keys()
array_keys() 定義: この関数は、配列内のすべてのキー名を含む新しい配列を返します。
array_keys() の場合:
$a=array("a"=>"馬","b"=>"猫","c"=>"犬");
print_r(array_keys($a) )); //出力: Array ( [0] => a [1] => b [2] => c )

2. array_values()
array_values() 定義: 関数は次の配列を返します。指定された配列内のすべてのキー値の配列ですが、キー名は保持されません。
array_values() の場合:
$a=array("a"=>"馬","b"=>"猫","c"=>"犬");
print_r(array_keys($a) )); //出力: Array ( [0] => Horse [1] => Cat [2] => Dog )

3. array_filter()
array_filter() 定義: 関数はコールバック関数を使用します。配列をフィルタリングする カスタム フィルタ関数が true を返した場合、演算された配列の現在の値が返された結果配列に含まれ、結果は新しい配列に形成されます。元の配列が連想配列の場合、キー名は変更されません。
array_filter() 構文: array_filter(array,function)
array_filter() の場合:
function test($v){
if($v === 'Cat'){
return true;
}
false を返す;
}
$a=array(0=>"犬",1=>"猫",2=>"馬");
print_r(array_filter($a,"test")); //出力: Array ( [1] => Cat )

4.array_slice() 定義: この関数は、条件に基づいて配列内の値のセグメントを取り出し、それを返します。
array_slice() 構文: array_slice(array,offset,length,preserve)
パラメータの説明
offset: 必須。数値。取得する要素の開始位置を指定します。
正の値の場合は、前から後ろに向かって取得されます。負の値の場合は、後ろから前に向かってオフセットの絶対値が取得されます。
長さ: オプション。数値。返される配列の長さを指定します。
長さが正の場合、その要素数を返します。
長さが負の場合、シーケンスは配列の終わりからここまで離れたところで終了します。
省略した場合、シーケンスはオフセットから配列の末尾まで始まります。

5.array_slice() の場合:
$a=array(0=>「犬」,1=>「猫」,2=>「馬」,3=>「鳥」,4=> ;"lili",5=>"james");
print_r(array_slice($a,0)); //出力: Array ( [0] => Dog [1] => Cat [2] = > 馬 [3] => リリ [5] =>
print_r(array_slice($a,0,2)); ; 犬 [1] => 猫 )
print_r(array_slice($a,0,-2)); // 出力: 配列 ( [0] => 犬 [1] => 猫 [2] => ; 馬 [3] => 鳥 )
print_r(array_slice($a,-2,-1)); // 出力: Array ( [0] => lili )
print_r(array_slice($a,-1) ,-2)); //出力: Array()

6.array_serch()
array_search() 関数は、配列内のキー値を検索する in_array() と同じです。値が見つかった場合は、一致する要素のキーが返されます。見つからない場合は false を返します。
$a=array("a"=>"犬","b"=>"猫","c"=>"馬");
echo array_search("犬", $a); //出力: a
?>
7. array_merge()
array_merge() 関数は、2 つ以上の配列を 1 つの配列にマージします。


$a1=array("a"=>"馬","b"=>"犬");
$a2=array("c"=>"牛") ,"b"=>"猫");
print_r(array_merge($a1,$a2)); //出力: 配列 ( [a] => 馬 [b] => 猫 [c] => ; Cow )
?>

8.array_combine()
array_combine() 関数は、1 つがキー名で、もう 1 つの配列の値がキー値である 2 つの配列を結合して新しい配列を作成します。配列の 1 つが空である場合、または 2 つの配列の要素数が異なる場合、関数は false を返します。


$a1=array("a","b","c","d");
$a2=array("猫","犬","馬"," Cow");
print_r(array_combine($a1,$a2)); //出力: Array ( [a] => 猫 [b] => 犬 [c] => 馬 [d] => Cow )
?>

9.is_array()
is_array は、変数の型が配列型であるかどうかを判断します。変数が配列型の場合は true を返し、それ以外の場合は false を返します。

10.in_array() in_array(value,array,type)
in_array() 関数は、配列内の指定された値を検索します。
指定された値 value が配列配列に存在する場合は true を返します。 3 番目のパラメーターが true に設定されている場合、関数は要素が配列内に存在し、指定された値と同じデータ型を持つ場合にのみ true を返します。
パラメータが配列内に見つからない場合、関数は false を返します。
$people = array("ピーター", "ジョー", "グレン", "クリーブランド", 23);
if (in_array(23,$people, TRUE)){
echo "一致が見つかりました
" ;
}else{
echo "一致が見つかりません
";
?>
出力: 一致が見つかりました//データ型は指定された値と同じです

if (in_array("23" ,$ people, TRUE)){
echo "一致が見つかりません
";
}else{
echo "一致が見つかりません
"
}
出力: 一致が見つかりません//データ型固定値は同じです

11.count() sizeof() この関数は count() のエイリアスです。
count() 関数は、配列内のセルの数、またはオブジェクト内の属性の数をカウントします。配列の場合はその要素の数を返し、その他の値の場合は 1 を返します。引数が変数で、その変数が定義されていない場合は、0 が返されます。
$people = array("ピーター", "ジョー", "グレン", "クリーブランド");
$result = count($people); //出力: 4

; array_push() array_push() 関数は、最初の引数の配列の末尾に 1 つ以上の要素 (プッシュ) を追加し、新しい配列の長さを返します。この関数は、$array[] = $value を複数回呼び出すことと同じです。
$arr = array();
$arr[]= 'john';
print_r($arr); ( [0] => john [1] => jam [2] => tome )
?>

13. array_pop()
array_pop() 関数は、配列の最後の要素を削除します。
$a=array("Dog","Cat","Horse");
array_pop($a);//出力: Array ( [0] => Dog [1] => Cat )
?>
14. array_unshift() array_unshift(array,value1,value2,value3...)
array_unshift() 関数は、配列の先頭に 1 つ以上の要素を挿入します。 。
$a=array("a"=>"猫","b"=>"犬");
array_unshift($a,"馬"); // 出力: Array ( [0] => Horse [a] => Cat [b] => Dog )
?>

15. array_shift()
array_shift() 関数は、配列要素を取得し、削除された要素の値を返します。
$a=array("a"=>"犬","b"=>"猫","c"=>"馬");
echo array_shift($a);
print_r ($a); //出力: Dog Array ( [b] => Cat [c] => Horse )

16.array_flip()
array_flip() 関数は反転した In を返します。配列内で同じ値が複数回出現する場合、最後のキーがその値として使用され、他のキーはすべて失われます。
元の配列の値のデータ型が文字列または整数ではない場合、関数はエラーを報告します。
$a=array(0=>"犬",1=>"猫",2=>"馬");
print_r(array_flip($a)); //出力: Array ( [Dog] => 0 [Cat] => 1 [Horse] => 2 )
?>

17.array_key_exists() array_key_exists(key,array)
array_key_exists() 関数は配列を決定します。指定されたキーがキーに存在する場合、キーが存在する場合は true を返し、存在しない場合は false を返します。
$a=array("a"=>"犬","b"=>"猫");
if (array_key_exists("a",$a)){
echo "キー存在します!";
}else{
echo "キーが存在しません!";
}

18.array_reverse() array_reverse(array,preserve) prepare オプション。元の配列キー名を保持するかどうかを指定します。可能な値: true と false。
$a=array("a"=>"犬","b"=>"猫","c"=>"馬");
print_r(array_reverse($a) ); //出力: Array ( [c] => Horse [b] => Cat [a] => Dog )

19.end()
end() 関数は内部の配列を変更しますpointer 最後の要素を指し、成功した場合はその要素の値を返します。
$people = array("ピーター", "ジョー", "グレン", "クリーブランド");

echo current($people) . "
"; $people);
?>
出力:
Peter
Cleveland

20.current()
current() 関数は、配列内の現在の要素 (セル) を返します。
各配列には、その「現在の」要素を指す内部ポインターがあり、最初は配列に挿入された最初の要素を指します。

21.sort asort arsort ksort krsort
(1) sort()
sort() 関数は、指定された配列の値を昇順に並べ替えます。注: この関数は、配列内のユニットに新しいキー名を割り当てます。元のキー名は削除されます。
$my_array = array("a" => "犬", "b" => "猫", "c" => "馬"); print_r($my_array);//出力: Array ( [0] => Cat [1] => Dog [2] => Horse )
?> (2) asort()
asort() 関数配列をソートし、インデックス関係を維持します。主に、セルの順序が重要な連想配列の並べ替えに使用されます。
$my_array = array("a" => "犬", "b" => "猫", "c" => "馬");print_r($my_array); //出力: Array ( [b] => Cat [a] => Dog [c] => Horse )

(3) arsort() 関数は演算を実行します。配列上で逆順にソートし、インデックス関係を維持します。主に、セルの順序が重要な連想配列の並べ替えに使用されます。
$my_array = array("a" => "犬", "b" => "猫", "c" => "馬"); print_r($my_array); //出力: 配列 ( [c] => 馬 [a] => 犬 [b] => 猫 )

(4) ksort()
ksort()この関数は、配列値の元のキーを保持しながら、キー名で配列を並べ替えます。
$my_array = array("a" => "犬", "b" => "猫", "c" => "馬"); print_r($my_array); //出力: Array ( [a] => Dog [b] => Cat [c] => Horse )

(5) キーに応じた ksort() 関数name 配列値の元のキーを保持して、配列をソートします。
$my_array = array("a" => "犬", "b" => "猫", "c" => "馬");
krsort($my_array); print_r($my_array); //出力: 配列 ( [c] => 馬 [b] => 猫 [a] => 犬 )

---------- -------------------------------------------------- -------------------------------------------------- ------------------------

3. 文字列関数

1. strpos()
strpos() 関数は、別の関数で文字列を返します。 string 文字列内で最初に出現する位置。成功した場合は位置を返し、それ以外の場合は false を返します。
echo strpos("Hello world!","wo"); //出力: 6
?>

2.strrpos()
strrpos() 関数は、最後に表示された場所で文字列を検索します。 。成功した場合は位置を返し、それ以外の場合は false を返します。
echo strpos("Hello world!","wo"); //出力: 6
?>

3.strlen()
strlen() 関数は文字列の長さを返します。
echo strlen("Hello world!"); //出力: 12
?> 4.substr() インターセプト関数 substr(string,start,length)
substr() 関数は文字列を返しますの一部。
具体的な使用法については例を参照してください:
$str = 'abcdefg';
echo substr($str,0).'
'; //出力: abcdefg 説明:は 0、3 番目のパラメータはないため、a からインターセプトを開始し、最後までインターセプトします
echo substr($str,3).'
' //出力: defg 説明: d の添字は次のとおりです。 3, 3 番目のパラメータがないため、d から開始して最後までインターセプトします
echo substr($str,1,4).'
' //出力: bcde 説明: 次の表はb は 1、e の添字は 4 なので、b から開始して e まで切片します
echo substr($str,-2).'
' //出力: fg 説明: g の位置は -1, f 位置は -2 で、3 番目のパラメーターがないため、f から開始して最後までインターセプトします
echo substr($str,-5,-1).'
' ; //出力: cdef 説明: c の位置は -5 で、g の位置は -1 で、インターセプトは -5 の位置から開始され、-1 より前の位置、つまり - の位置で終了します。 1は付属しません。
echo substr($str,1,-2).'
'; //出力: bcde 説明: b の位置は -1、f の位置は -2、b はインターセプトを開始します。そして f へのインターセプト 前の停止 (つまり、-2 の位置を除く)
?>

5.strstr() strstr(string,search)
strstr() 関数は、最初に文字列が存在する場合に検索します。別の文字列が表示されます。この関数は、文字列の残りの部分 (一致点から) を返します。検索された文字列が見つからない場合は false を返します。
echo strstr("Hello world!","o"); //出力: o world!

この関数は大文字と小文字を区別します。大文字と小文字を区別しない検索の場合は、stristr() を使用します。

6.trim()
Trim() 関数は、文字列の両端から空白文字やその他の事前定義された文字を削除します。
$str = " Hello World! ";
echo $str.'
'
echorim($str).'
';ソース コードは次のとおりです。 Hello World!
Hello World!


7.strtoupper()
strtoupper() 関数は文字列を大文字に変換します。
echo strtoupper("Hello WORLD!"); //出力: HELLO WORLD!
?>
8.strto lower() 関数は文字列を小文字に変換します。
echo strto lower("Hello WORLD!"); //出力: hello world!
?>

9.ucfirst()
ucfirst() 関数は、文字列の最初の文字を大文字に変換します。
echo ucfirst("hello world"); //出力: Hello world!
?>

10.ucwords()
ucwords() 関数は、文字列内の各単語の最初の文字を次のように変換します。資本。
echo ucfirst("hello world"); //出力: Hello World!
?>

11.strrev()
strrev() 関数は文字列を反転します。
echo strrev("Hello World!"); //出力: !dlroW olleH
?>

12.round() ceil() intval() Floor() の使用法
round() 関数 Round浮動小数点数。
ceil() 最も近い整数に丸めます
intval() 変数の整数値を取得します
echoround(0.60); //出力: 1
echoround(0.49); //出力: 0
echo ceil (3.33); // 出力: 4
echo ceil(3.9); // 出力: 3
echo intval(3.9); ;
floor() PHP 数学関数
floor() 関数は最も近い整数に切り捨てます。 x 以下の次の整数を、x の小数部分を四捨五入して返します。通常、float 値の範囲は integer の範囲よりも大きいため、floor() によって返される型は float のままです。
具体的には次の例を参照してください:
echo(floor(0.60)) //0
echo(floor(5));フロア (5.1)); //5
echo(floor(-5.1)); //-6
echo(floor(-5.9)) //-6
?>

13.implode()
) 関数は配列要素を文字列に結合します。
$arr = array('Hello','World!','Beautiful','Day!');
echo implode(" ",$arr); //出力: Hello World! !
?>

14.explode()
explode() 関数は文字列を配列に分割します。
$str = "こんにちは。素晴らしい日ですね。";
print_r (explode(" ",$str));
出力:
Array(
[0] =>こんにちは
[1] => 世界です。
[2] => 今日は
[3] =>
[4] => 美しい日です
)

15.str_pad ()
です。 () 関数は、指定された長さまで文字列を埋め込みます。 str_pad(string,length,pad_string,pad_type)
string 必須。埋める文字列を指定します。
長さは必須です。新しい文字列の長さを指定します。値が元の文字列の長さより小さい場合、操作は実行されません。
Pad_string オプション。パディングに使用する文字列を指定します。デフォルトは空白です。
Pad_type オプション。パディング文字列の側を指定します。可能な値:
STR_PAD_BOTH - 文字列の両端にパディングします。偶数でない場合は、右側に余分なパディングが追加されます。 D Str_pad_Left - 文字列の左側を塗りつぶします。 D Str_pad_right - 文字列の右側を塗りつぶします。これがデフォルトです。
$str = "Hello World";
echo str_pad($str,"."); //出力: Hello World....

< ;?php
$str = "Hello World";
echo str_pad($str,20,".",STR_PAD_LEFT); //出力: ....Hello World

16 .strip_tags()strip_tags(string,allow) 文字列が必要です。チェックする文字列を指定します。オプションで許可します。許可されるタグを指定します。これらのタグは削除されません。
strip_tags() 関数は、HTML、XML、および PHP タグを削除します。
echo Stripe_tags("Hello world!",""); //出力: Hello world! >

17.htmlspecialchars() htmlspecialchars(string,quotestyle,character-set)
htmlspecialchars() 関数は、いくつかの事前定義された文字を HTML エンティティに変換します。
事前定義された文字は次のとおりです:
& (アンパサンド) は & になります
" (二重引用符) は " になります     ' (单引号) 成为 '
    < (小于) 成为 <
> (大于) 成为 >

string           必需。规定要转换的字符串。
quotestyle    可选。规定如何编码单引号和双引号。
          ENT_COMPAT - 默认。仅编码双引号。
          ENT_QUOTES - 编码双引号和单引号。
          ENT_NOQUOTES - 不编码任何引号。
character-set 可选。字符串值,规定要使用的字符集。



$str = "John & 'Adams'";
echo htmlspecialchars($str, ENT_COMPAT);
echo "
";
echo htmlspecialchars($str, ENT_QUOTES);
echo "
";
echo htmlspecialchars($str, ENT_NOQUOTES);
?>


浏览器输出:
John & 'Adams'
John & 'Adams'
John & 'Adams'

如果在浏览器中查看源代码,会看到这些 HTML:


John & 'Adams'

John & 'Adams'

John & 'Adams'



18.htmlspecialchars_decode()  htmlspecialchars_decode() 函数是 htmlspecialchars() 函数的反函数。
htmlspecialchars_decode() 函数把一些预定义的 HTML 实体转换为字符。
会被解码的 HTML 实体是:
    & 解码成 & (和号)
    " 解码成 " (双引号)
    ' 解码成 ' (单引号)
    < 解码成 < (小于)
> 解码成 > (大于)

$str = "This is some <b>bold</b> text.";
echo htmlspecialchars_decode($str);
?>

浏览器输出:This is some bold text.
如果在浏览器中查看源代码,会看到这些 HTML:



This is some bold text.



-------------------------------------------------------------------------------------------------------------------------------------

     四  Date / Time 函数
1.time()
time() 函数返回当前时间的 Unix 时间戳。
echo time(); //输出:1424937345
echo date('Y-m-d H:i:s',time());//输出:2015-02-26 15:55:32 // date()函数将时间戳转换为日期格式
?>

2.mktime()   语法:mktime(hour,minute,second,month,day,year,is_dst)
mktime() 函数返回一个日期的 Unix 时间戳。
echo(date("M-d-Y",mktime(0,0,0,12,36,2001))); //输出:Jan-05-2002
echo(date("M-d-Y",mktime(0,0,0,14,1,2001))); //输出:Feb-01-2002
echo(date("M-d-Y",mktime(0,0,0,1,1,2001))); //输出:Jan-01-2001
echo(date("M-d-Y",mktime(0,0,0,1,1,99))); //输出:Jan-01-1999
?>

3.microtime()
microtime() 函数返回当前 Unix 时间戳和微秒数。
echo microtime(); //输出:0.79456400 1424937755
?>

4.strtotime()
strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳。
echo(strtotime("now"));
echo(strtotime("3 October 2005"));
echo(strtotime("+5 hours"));
echo(strtotime("+1 week"));
echo(strtotime("+1 week 3 days 7 hours 5 seconds"));
echo(strtotime("next Monday"));
echo(strtotime("last Sunday"));
?>
输出:
1138614504
1128290400
1138632504
1139219304
1139503709
1139180400
1138489200

5.date()
date() 函数格式化一个本地时间/日期。
echo date('Y-m-d H:i:s',time());//输出:2015-02-26 15:55:32
?>

6.date_default_timezone_set() 構文: date_default_timezone_set(timezone)
date_default_timezone_set() 関数は、スクリプト内のすべての日付/時刻関数に使用されるデフォルトのタイムゾーンを設定します。
中国のタイムゾーンを設定します
date_default_timezone_set('Asia/Shanghai');//'Asia/Shanghai' Asia/Shanghai
date_default_timezone_set('Asia/Chongqing');//Asia/Chongqing は「アジア/重慶」です
date_default_timezone_set ( 'Asia/Harbin');//'Asia/Harbin' は「アジア/ハルビン」です
date_default_timezone_set('PRC');//PRC は「中華人民共和国」です


7.date_default_timezone_get()
date_default_timezone_get( ) 関数は、スクリプト内のすべての datetime 関数で使用されるデフォルトのタイムゾーンを返します。
echo date_default_timezone_get(); //出力: Asia/Chongqing
?


8.usleep()
usleep() 関数はコードの実行を数マイクロ秒遅延させます。
echo date('h:i:s') . "
"; // プログラムの実行を開始します
usleep(10000000) // 10 秒遅延します
echo date('h : i:s'); // プログラムの実行を再度開始します
?>
出力:
04:28:24
04:28:34

9. タイムスタンプを時刻に変換し、時刻をタイムスタンプに変換します
( 1) UNIX タイムスタンプを日付に変換する関数: date()
例を参照:
echo date("Y-m-d H:i:s", time());
echo date("Y-m-d H:i :s") ,"1424937345");
?>

2. 関数を使用して UNIX タイムスタンプに変換します: strtotime()
例:
echo strtotime('2010-03-24 08:15 :42' );
?>


10. 開発ケース
/*
次に、次の関数を実装する必要があります:
銀行クレジット カード返済通知など: ユーザーがクレジット カードを返済する必要があることをプログラムがスキャンすると、テキスト メッセージを送信してユーザーに通知します。
ただし、ユーザーの迷惑となるのを防ぐため、テキスト メッセージは日中 9:00 から 18:00 までしか送信できません。この機能を実装するにはどうすればよいですか?
*/
$y=date("Y",time());
$d=date("d",time() ));
$start_time = mktime(9, 0, 0, $m, $d ,$y);
$end_time = mktime(18, 0, 0, $m, $d ,$y); = time();
if($time >= $start_time && $time <= $end_time){
//メッセージを送信... テキスト メッセージを送信するコードを記述します
}
?>
-- --- --------------------------------------------------- --- --------------------------------------------------- --- ----------------------------
その他の 5 つの関数
1.error_reporting(E_ALL) (パス)
file_exists( ) 関数は、ファイルまたはディレクトリが存在するかどうかを確認します。指定されたファイルまたはディレクトリが存在する場合は true を返し、存在しない場合は false を返します。
echo file_exists("test.txt");
?>
3.number_format()
number_format() 関数は、数千をグループ化して数値をフォーマットします。
echo number_format("1000000"); //1,000,000
echo number_format("1000000",2) //1,000,000.00
echo number_format("1000000",2,",","."); //1.000.000,00
?>

4.preg_replace()
混合 preg_replace (混合 $pattern , 混合 $replacement , 混合 $subject [, int $limit = -1 [, int &$count ]] )
パターンに一致する被写体の部分を検索し、置換に置き換えます。
この例では、余分な空白文字が削除されます
$str = 'foo o';
$str = preg_replace('/ss+/', ' ', $str); // 'foo' に変更されますo'
echo $str;
?>

5.dirname()
dirname() 関数はパスのディレクトリ部分を返します。
echo dirname("c:/testweb/home.php"); //出力: c:/testweb
echo dirname("/testweb/home.php"); // 出力: testweb
? > 6.__FILE__
__FILE__ 現在のパス + ファイル名を返します
7.dirname(__FILE__)
現在の PHP プログラムはフルパス (パス + ファイル名) です
$the_full_name=__FILE__; $the_dir =dirname(__FILE__);
echo $the_full_name; // /home/data/demo/test/a.php に戻る
echo $the_dir // /home/data/demo/test に戻る
?>
簡単に言うと :
__FILE__ 現在のパス + ファイル名を返します
dirname(__FILE__) は、現在のファイル パスのパス部分を返します
dirname(dirname(__FILE__)); 取得するのは、ファイルの上のディレクトリ名 (最後の "/" を除く) です

たとえば、現在のファイルは / です。 home/data /demo/test.php の場合、
__FILE__ はフルパスを取得します。 /home/data/demo /test.php で使用しますディレクトリ名 (__FILE__) を使用 use use を取得する完全なパス 「/」を含む )

8.$_SERVER['SCRIPT_FILENAME']
PHP $_SERVER['SCRIPT_FILENAME'] と __FILE__ の違い:
通常、PHP $_SERVER['SCRIPT_FILENAME'] と __FILE__ は PHP ファイルのフルパス (絶対パス) を返します。 ) とファイル名:
2 つの違いは次のとおりです: $_SERVER['SCRIPT_FILENAME'] は現在実行中のプログラムの絶対パスとファイル名を反映します; __FILE__ は元のファイル (インクルード ファイル) の絶対パスとファイル名を反映しますname

9.$_SERVER['HTTP_HOST'] および $_SERVER['PHP_SELF']
コマンドラインのアドレスが http://www.baidu.com/index.php の場合
次に:
$_SERVER[ ' HTTP_HOST']=='www.baidu.com' //1つはホストアドレス
$_SERVER['PHP_SELF']=='/index.php' //スクリプトファイルの絶対パス

10.error_log ()
error_log () 関数は、サーバー エラー ログ、ファイル、またはリモート宛先にエラーを送信します。成功した場合は true を返し、そうでない場合は false を返します。
$test=2;

if ($test>1)
{
error_log("カスタム エラーが発生しました",
1,"someone@example.com","From: webmaster@ example.com");
}
?>
出力:
カスタム エラーがトリガーされました

11.ini_set('display_errors', '1');
PHP ini_set は php.ini の値を設定するために使用されます, in 関数実行時に有効となり、スクリプト終了後は設定が無効になります。 php.ini ファイルを開かずに設定を変更できるため、仮想空間では非常に便利です。
関数の形式: string ini_set(string $varname, string $newvalue)
共通設定:
@ ini_set('memory_limit', '64M');
'menory_limit': スクリプトが適用できる最大メモリワード数を設定します。セクションでは、サーバー上の利用可能なメモリを消費する不適切に書かれたスクリプトが優先されます。 @ 記号は、エラーが出力されないことを意味します。
@ini_set('display_errors', 1);
'display_errors': エラー情報のカテゴリを設定します。

ini_set("display_errors","On"); //すべてのエラー メッセージを表示する
ini_set("display_errors","Off"); // ここで注意すべき点は、通常はサーバー設定にあることです。この場合、エラー表示をオンにすると通知エラーが表示されなくなります
12.json_decode() と json_encode() を実行しましょう。まず json_encode() を見てください
json_decode ? JSON 形式の場合 文字列エンコーディングは JSON 形式の文字列を受け入れ、それを PHP 変数に変換します
json_decode($data) はオブジェクトを出力し、json_decode("$data",true) は PHP 連想を生成します配列。
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; $json));
var_dump (json_decode($json, true));
?>

上記の例は次のように出力します。 (1)
["b" ] => int(2)
["c"] => int(3)
["e"] => ; int(5)
}

array(5) {
["a"] => int(1)
["b"] => (3)
["d" ] => int(4)
["e"] => int(5)
}

json_decode() を見る
json_encode
この関数はUTF-8 でエンコードされたデータを受け入れる
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,' e'=>5 );

echo json_encode($arr);
?>
上記のルーチンは次のように出力します:
{"a":1,"b":2,"c":3,"d ":4,"e ":5}

開発ケースを見る (ケースの削除):
(1) 削除ボタンを配置します:

削除

(2) ajax はプロセッサを指定し、データ
<script> <br> function del(cid,b_id){ <br> if(confirm("削除してもよろしいですか")){ <br>                    $ .ajax({<br>タイプ: "get"、<br>データ型: "json"、<br>url: "/demo/del"、<br>データ:{<br> "c_id":cid、<br> "b_id":b_id}、<br>成功: 関数 (msg) { <br> if(msg.rs == "成功"){ <br> アラート(msg.info); window.location.reload(); <br> }else{ <br> アラート(msg.info); } <br> } <br> }); <br> } <br> } <br> </script>
(3)処理メソッド
処理メソッドは書き込まれず、処理の結果が $res に返されます。
if($res){
die(json_encode(array("rs"=>'success',"info"= >"删除成功")));  //json_encode()对变量进行 JSON 符号
}else{
die(json_encode(array("rs"=>'fail',"info"=>'删除失败')));
}


13.urlencode() と urldecode()
他は、ネットワーク URL の暗号解読の問題を解決するために使用され、中国語を含む URL を使用できます。
$str = '我';
$str1 = urlencode($str);
$str2 = urldecode($str1);
$str1 をエコー; // 出力:%e6%88%91 // 编码
echo $str2; // 输出:我 // 解解
?>

14.sprintf()
sprintf() 関数数式化された文字列が 1 つの量に書き込まれます。
$transAmt=10000000;
$transAmt = sprintf('%.2f',$transAmt);
$transAmt をエコー; //出金:10000000.00
?>

15.fopen() fwrite() fclose の使用法
先見例:
$path = dirname(__FILE__);
$paths = $path.'/a.txt';
$content = '测试';
$handle = fopen($paths,'w+');
fwrite($handle, $content);
fclose($handle);
?>
一度実行すると、$path 経路下に .txt ファイルが存在しない場合に、.txt ファイルが作成されます。w+ は、ファイルの内容をクリアして再書き込みします。
追加する方法、つまり以下の内容が不明な場合は、追加を続けると、a、つまり $handle = fopen($paths,'a'); を使用できます。
"r" のみを開くと、ファイルがファイルの方向に移動します。「r+」 読み取り/書き込みモードで開き、ファイル ポインタをファイル ヘッダーにポイントします。
"w" 書き込みモードで開き、ファイル ポインターをファイル ヘッダーにポイントし、ファイル サイズをゼロに切り捨てます。ファイルが存在しない場合は、作成してみてください。
"w+" 読み取りおよび書き込みモードで開き、ファイル ポインターをファイル ヘッダーにポイントし、ファイル サイズをゼロにカットします。ファイルが存在しない場合は、作成してみてください。
"a" 書き込みモードで開き、ファイル ポインタをファイルの末尾に指します。ファイルが存在しない場合は、作成してみてください。
"a+" 読み取り/書き込みモードで開き、ファイル ポインターをファイルの末尾に指します。ファイルが存在しない場合は、作成してみてください。
"x"
作成して書き込み用に開き、ファイル ポインターをファイル ヘッダーにポイントします。ファイルが既に存在する場合、 fopen() 呼び出しは失敗し、FALSE を返し、E_WARNING レベルのエラー メッセージを生成します。ファイルが存在しない場合は、作成してみてください。
これは、基礎となる open(2) システム コールに O_EXCL|O_CREAT フラグを指定するのと同じです。
このオプションは PHP 4.3.2 以降のバージョンでサポートされており、ローカル ファイルにのみ使用できます。
"x+"
ファイル ポインタをファイル ヘッダーに指定して、読み取り/書き込みモードで作成して開きます。ファイルが既に存在する場合、 fopen() 呼び出しは失敗し、FALSE を返し、E_WARNING レベルのエラー メッセージを生成します。ファイルが存在しない場合は、作成してみてください。
これは、基礎となる open(2) システム コールに O_EXCL|O_CREAT フラグを指定するのと同じです。
このオプションは PHP 4.3.2 以降のバージョンでサポートされており、ローカル ファイルにのみ使用できます。

12. file_put_contents() と file_get_contents() の使用法
file_put_contents() 関数は、文字列をファイルに書き込みます。 fopen()、fwrite()、fclose() を順番に呼び出すのと同じ関数。この関数は、ファイルに書き込まれたデータのバイト数を返します
$path = dirname(__FILE__);
$paths = $path.'/a.txt';
$content = 'test';
//$handle = fopen($paths,'w+');
//fwrite($handle, $content);
echo file_put_contents($paths,$content);出力: 30

$arr = array('a'=>1,'b'=>2);
file_put_contents($paths,var_export($arr,true));

file_get_contents( ) 関数は、ファイル全体を文字列に読み取ります。
header('Content-type:text/html;charset=utf-8');
$path = $path.'/a.txt'; content = 'test';
$str = file_get_contents($paths); //出力:

16.flock() ) 関数はファイルをロックまたは解放します。成功した場合は true を返します。失敗した場合は false を返します。
flock(file,lock,block)
ファイル 必須。開いているファイルをロックまたは解放するように指定します。 flock() で使用されるファイルは、開いているファイル ポインターである必要があります。
ロックが必要です。使用するロックの種類を指定します。
ブロックはオプションです。 1 または true に設定すると、ロック中に他のプロセスがブロックされます。
共有ロック (プログラムの読み取り) を取得するには、ロックを LOCK_SH に設定します (PHP 4.0.1 より前のバージョンでは 1 に設定)。
排他的ロック (プログラムの書き込み) を取得するには、lock を LOCK_EX に設定します (PHP 4.0.1 より前のバージョンでは 2 に設定)。
ロック (共有か排他かに関係なく) を解放するには、ロックを LOCK_UN に設定します (PHP 4.0.1 より前のバージョンでは 3 に設定)。
flock() がロック時にブロックしないようにするには、ロックに LOCK_NB を追加します (PHP 4.0.1 より前のバージョンでは 4 に設定)。
$file = fopen("test.txt","w+"); //オープン
// 排他ロック
if (flock($file,LOCK_EX)){ //ロック後
fwrite($ file,"何かを書き込む"); //コンテンツを書き込みます
// ロックを解除します
}else{
echo "ファイルのロック中にエラーが発生しました!" ; file); //Close
?>

17.unlink() unlink(filename,context)
unlink() 関数はファイルを削除します。成功した場合は true、失敗した場合は false を返します。
$file = "test.txt";
if (!unlink($file)){
echo ("操作エラー")
}else{
echo ("削除成功");
?>

18.unset()
unset -- 指定された変数を解放します PHP 4 では、unset() は実際の関数ではなくなり、ステートメントになりました。戻り値がないため、unset() の戻り値を取得しようとすると解析エラーが発生します。
$arr = array(
'a'=>1,
'b'=>2,
'c'=>3
);
unset($arr['b']);
echo '

';print_r($arr); 
配列
[ a] => 1
[c] => 3
)

19.var_export()
var_export ? この関数は、この関数に渡された変数に関する構造情報を返します。 var_dump() と似ていますが、返される表現が正当な PHP コードである点が異なります。関数の 2 番目の引数を TRUE に設定することで、変数の表現を返すことができます。
$arr = array(
'a'=>1,
'b'=>2,
'c'=>3
); //出力: array(3) { ["a"]=> int(1) ["b"]=> int(2) ["c"]=> int(3) }
var_export($arr); //出力: array ( 'a' => 1, 'b' => 2, 'c' => 3, )

$v = var_export($arr,TRUE); // 2 番目のパラメータに設定します。 TRUE なので、変数の表現を返します
echo $v; //出力配列 ( 'a' => 1, 'b' => 2, 'c' => 3, )
?>
20.serialize() と unserialize()
Serialize? 保存可能な値の表現を生成します。serialize() は値を表すバイト ストリームを含み、どこにでも保存できます。これにより、型や構造を失うことなく、PHP 値の保存や受け渡しが容易になります。
unserialize ? 保存された表現から PHP 値を作成します。シリアル化された文字列を PHP 値に変換するには、unserialize() を使用します。
具体的な例を参照してください:
$str = 'abcdefg';
$str2 = unserialize($str1); //出力: s: 7 :"abcdefg";
echo $str2; //出力: abcdefg

$arr = array(
'a'=>1,
'b'=>2,
'c'=>3
) ;
$string = Serialize($arr);
$arr2 = unserialize($string); //出力: a:3:{s:1:"a";i:1;s: 1 :"b";i:2;s:1:"c";i:3;}
print_r($arr2); //出力: Array ( [a] => 1 [b] => 2 [ c] => 3 )
?>


21.rand()
rand() 関数はランダムな整数を返します。
echo rand(0,100); // 0 から 100 までのランダムな整数を出力します

22.preg_match()
http://developer.51cto.com/art/200911/165362 htm

$num = $this->input->post('buy_num');
$preg = '/^[1-9][0-9]*$/'
if(!preg_match() $ preg, $ct_id) || !preg_match($preg, $num)){
echo '