PHPでよく使われる関数の概要を共有
PHP の一般的に使用される配列、文字列、時刻、ファイル操作関数をまとめて共有します。PHP 開発を学習している友人に役立つことを願っています。
配列:【ポイント1】
implode (分離、arr) は、指定された文字に従って配列値データを連結します
例:
$arr=array('1','2','3','4');
$str=implode('-',$arr);
explode([セパレート],arr)は指定されたルールに従って文字列を分割し、戻り値はAlias join
になります。
array_merge() は 1 つ以上の配列をマージします
array_combine(配列キー, 配列値) は、1 つの配列の値をキー名として使用し、別の配列の値をその値として使用して配列を作成します
例:
$a = array('緑','赤','黄色');
$b = array('アボカド','リンゴ','バナナ');
$c = array_combine($a, $b);
print_r($c);
/* 出力:
配列
(
[緑] => アボカド
[赤] =>リンゴ
[黄色] => バナナ
)
*/
array_push(arr,str) 1 つ以上の要素を配列の末尾にプッシュします (プッシュ)
array_unique(arr) は配列から重複した値を削除します
array_search() は配列内の指定された値を検索し、成功した場合は対応するキー名を返します
array_values() は配列内のすべての値を返します
array_keys() は配列内のすべてのキー名を返します
count(arr) は、配列内のセルの数、またはオブジェクト sizeof() 内の属性の数をカウントします
is_array(arr) は変数が配列かどうかをチェックします
sort(arr) 配列をソート
array_flip(arr) は配列内のキーと値を交換します
trans の値は正当なキー名である必要があることに注意してください。たとえば、整数または文字列である必要があります。値の型が間違っている場合は警告が発行され、問題のキーと値のペアは元に戻されません。
key(arr) は配列内の現在の要素のキー名を返します
current(arr) は現在のポインターが指す値を返します
next は、次のポインターが指す値を返します
たとえば
コードは次のとおりです:
$array = 配列 (
'fruit1' => 'リンゴ',
'fruit2' => 'オレンジ',
'fruit3' => 'グレープ',
'fruit4' => 'リンゴ',
'fruit5' => 'リンゴ'
);
// このサイクルはすべての連想配列をエコーします
// 値が「apple」に等しいキー
while ($fruit_name = current($array)) {
if ($fruit_name == 'リンゴ') {
エコーキー($array)。'
';
}
次($array);
}
reset(arr)配列の内部ポインタは最初の要素を指します
array_chunk( array input, int size [, bool prepare_keys])) 配列を複数に分割します
配列を複数の配列に分割します。各配列内のセルの数はサイズによって決まります。最後の配列には要素が少し少ない場合があります。結果の配列は、インデックスが 0 から始まる多次元配列のセルになります。
オプションのpreserve_keysパラメータをTRUEに設定すると、PHPは入力配列内の元のキー名を保持します。 FALSE を指定すると、各結果配列には 0 から始まる新しい番号でインデックスが付けられます。デフォルト値は FALSE です。
紐【ポイント2】
Trim(str) は文字列の両側のスペースを削除します
rtrim()
addslashes は事前定義文字を指定する前に
を追加します
strlen(str) は文字列の長さを受け取ります
substr(str,start,length) は、指定された文字列内の指定された長さの文字をインターセプトします
strstr(str,search) 関数は、別の文字列内で指定された文字列が最初に出現してから、その文字列の末尾までの部分文字列を取得するために使用されます。 strchr と同じ
strpos(str,search) は、文字列内で最初に出現する文字を検索します
str_replace(search,replace,str) 文字列置換
ucfirst(str) は文字列の最初の文字を大文字にします
strto lower は小文字になります
ucwords(str) は、文字列内の各単語の最初の文字を大文字にします
strcmp(str1,str2) 関数は 2 つの文字列を比較するために使用されます
substr_count() 関数は、部分文字列が出現する回数を取得します
通常の関連文字列関数:
preg_match(pattern,subject,matches) は、pattern で指定された正規表現に一致するコンテンツを対象の文字列で検索します。matches[0] はすべてのコンテンツに一致し、matches[1] が最初に表示されます。 [1] 2 番目のパターンユニットと一致します。
preg_match_all(pattern,subject,matches) はグローバルに一致し、残りの preg_match 関数は同様です
preg_replace(pattern,replacement,str) は正規表現の検索と置換を行います、3種類[string,string][array,string][array,array]
preg_split(pattern,str) は正規表現を使用して文字列を分割します
preg_grep(pattern,array) は配列の値を正規表現で照合し、新しい配列情報を返します
時間【ポイント3】
PHP の日付と時刻関数 date()
1. 年月日
エコー日付('Y-m-j');
2007-02-6
エコー日付('y-n-j');
07-2-6
大文字の Y は 4 桁の年を表し、小文字の y は 2 桁の年を表します。
小文字の m は月の番号 (先頭付き) を表し、小文字の n は先頭のない月の番号を表します。
エコー日付('Y-M-j');
2007年2月6日
エコー日付('Y-m-d');
2007-02-06
大文字の M は月の 3 つの省略文字を表し、小文字の m は月の番号 (先頭に 0 が付きます) を表します。
大文字の J はなく、小文字の j のみが月の日付を表し、先頭の月が必要な場合は先頭の o を省略し、小文字の d を使用します。
エコー日付('Y-M-j');
2007年2月6日
エコー日付('Y-F-jS');
2007年2月6日
大文字の M はその月の 3 つの省略文字を表し、大文字の F はその月の完全な英語文字を表します。 (小文字の f は不可)
大文字の S は、日付番号に応じて、「st」、「nd」、「rd」、「th」などの日付の接尾辞を表します。
年は大文字の Y と小文字の y で表すことができます。
月は、大文字の F、大文字の M、小文字の m、および小文字の n で表すことができます (それぞれ文字と数字を表す 2 つの方法)。
小文字の d と小文字の j は日付を表すために使用でき、大文字の S は日付の接尾辞を表します。
デフォルトでは、PHP は表示時刻を「グリニッジ標準時」として解釈します。これは現地時間とは 8 時間異なります。
echo date('g:i:s a');
午前5時56分57秒
echo date('h:i:s A');
午前05:56:57
小文字の g は先頭に 0 のない 12 時間制を示し、小文字の h は先頭に 0 がある 12 時間制を示します。
12 時間制を使用する場合、小文字の a は小文字の「am」と「pm」を表し、大文字の A は大文字の「AM」と「PM」を表します。
エコー日付('G:i:s');
14:02:26
大文字の G は、先頭を付けずに 24 時間形式で時間を表します。先頭に
を付けて 24 時間形式で時間を表すには、大文字の H を使用します。
概要:
文字 g は先頭なしの時間を表し、文字 h は先頭のある時間を表します
小文字の g と h は 12 時間形式を表し、大文字の G と H は 24 時間形式を表します。
エコー日付('L');
今年がうるう年かどうか: 0
エコー日付('l');
今日は火曜日です
エコー日付('D');
今日は火曜日です
大文字の L は、今年がうるう年かどうかを示します。ブール値は、true の場合は 1 を返し、それ以外の場合は 0 を返します。
小文字の l は、曜日 (火曜日) を表す完全な英語の単語を表します。
代わりに、大文字の D を使用して、曜日 (火) の 3 文字の省略形を表します。
エコー日付('w');
今日の週: 2
エコー日付('W');
今週は今年の第06週です
小文字の w は曜日を数値形式で表します
大文字の W は 1 年の週数を表します
エコー日付('t');
今月は28日です
エコー日付('z');
今日は今年も36日目です
小文字の t は当月の日数を表します
小文字の z は、今日が何日かを意味します
4、その他
エコー日付('T');
大文字の T はサーバーの時間ロケールを表します
エコー日付('I');
0
大文字 I は、夏時間であるかどうかを判断することを意味し、true の場合は 1 を返し、それ以外の場合は 0 を返します
。
エコー日付('U');
1170769424
大文字の U は、1970 年 1 月 1 日から現在までの合計秒数を表し、これが Unix タイム エポックの UNIX タイムスタンプです。
エコー日付('c');
2007-02-06T14:24:43+00:00
小文字の c は ISO8601 日付を表します。日付形式は YYYY-MM-DD です。文字 T は日付と時刻の区切りに使用されます。時刻形式は HH:MM:SS です。タイム ゾーンはグリニッジからのオフセットで表されます。平均時間 (GMT)。
エコー日付('r');
火曜日, 06 Feb 2007 14:25:52 +0000
小文字の r は RFC822 の日付を示します。
小さな date() 関数は、PHP のパワーと魅力を示しています (笑)。
checkdate($month,$date,$year)
この関数は、適用された値が有効な日付を形成する場合に true を返します。たとえば、エラー日が 2005 年 2 月 31 日の場合、この関数は false を返します。
この関数を使用すると、日付を計算に使用したりデータベースに保存したりする前に、日付をチェックして検証することができます。
コードは次のとおりです:
getdate($ts)
引数を指定しないと、この関数は現在の日付と時刻を配列として返します。配列内の各要素は、日付/時刻値の特定のコンポーネントを表します。オプションのタイムスタンプ引数を関数に送信して、タイムスタンプに対応する日付/時刻値を取得できます。
この関数を適用して、簡単に分離できる一連の離散的な日付/時刻値を取得します。
コードは次のとおりです:
// 日付を連想配列として取得します
$arr = getdate();
echo "日付は " . $arr['mday'] . " " . $arr['year'] .
echo "時間は " . $arr['hours'] ":" .
?>
mktime($時間、$分、$秒、$月、$日、$年)
この関数を使用して、即時の UNIX タイムスタンプを取得します。このようなタイムスタンプは、多くのデータベースやプログラミング言語で一般的に使用されています。
コードは次のとおりです:
// 13:15:23 7-Jun-2006 のタイムスタンプを返します
echo mktime(13,15,23,6,7,2006);
?>
日付($format, $ts)
この関数は、時刻または日付を表示用にフォーマットするときに使用します。
コードは次のとおりです:
// 現在の日付をフォーマットします
// 「2005 年 9 月 13 日 01:16 PM」を返します
echo date("d-M-Y h:i A", mktime());
?>
ストラトタイム($str)
この関数を適用して、標準化されていない日付/時刻文字列を標準の互換性のある UNIX タイムスタンプに変換します。
コードは次のとおりです:
// 2005 年 9 月 13 日を返します
echo date("d-M-y", strtotime("today"));
// 2005 年 9 月 14 日を返します
echo date("d-M-y", strtotime("明日"));
// 2005 年 9 月 16 日を返します
echo date("d-M-y", strtotime("今日 +3 日"));
?>
strftime($format,$ts)
この関数を使用して、現在の環境と互換性のある日付文字列を構築します。
コードは次のとおりです:
// ロケールをフランスに設定します (Windows の場合)
setlocale(LC_TIME, "fra_fra");
// 月/日の名前をフォーマットします
// ロケール設定に従って
// 「9 月」と「マルディ」を返します
echo strftime("月: %B ");
echo strftime("日: %A ");
?>
マイクロタイム()
この関数を使用して、現在の環境と互換性のある日付文字列を構築します。
コードは次のとおりです:
// 開始値を取得します
$start = microtime();
// コードを実行します
for ($x=0; $x
$null = $x * $x;
}
// 終了値を取得します
$end = microtime();
// コードの実行にかかる時間を計算します
echo "経過時間: " . ($end - $start) ." 秒";
?>
gmmktime($時間、$分、$秒、$月、$日、$年)
この関数を使用して、GMT リアルタイム時間の UNIX タイムスタンプを取得します。
コードは次のとおりです:
// 12:25:23 9-Jul-2006 のタイムスタンプを返します
echo gmmktime(12,25,23,7,9,2006);
?>
gmdate($format, $ts)
この関数は、時刻ラベルを GMT で表現する場合に使用されます。
コードは次のとおりです:
// 現在の日付を GMT にフォーマットします
// 「2005 年 9 月 13 日 08:32 AM」を返します
echo gmdate("d-M-Y h:i A", mktime());
?>
date_default_timezone_set($tz)、date_default_timezone_get()
注: この関数は PHP 5.1 以降でのみ使用できます。
この機能は、将来の時刻操作のためにタイムゾーンを設定するための便利なショートカットです。
コードは次のとおりです:
// タイムゾーンを UTC に設定します
date_default_timezone_set('UTC');
?>
代码如下:
//今天
$today = date("Y-m-d");
// 昨日の天
$yesterday = date("Y-m-d", strtotime(date("Y-m-d"))-86400);
//上周
$lastweek_start = date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1-7,date("や")));
$lastweek_end = date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7-7,date("や")));
//本周
$thisweek_start = date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y" )));
$thisweek_end = date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y" )));
//上月
$lastmonth_start = date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m")-1,1,date("Y")));
$lastmonth_end = date("Y-m-d H:i:s",mktime(23,59,59,date("m") ,0,date("Y")));
//今月
$thismonth_start = date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),1,date("Y")));
$thismonth_end = date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("t"),date("Y")));
//本季度未最終後一月天数
$getMonthDays = date("t",mktime(0, 0 , 0,date('n')+(date('n')-1)%3,1,date("Y")));
//本季度/
$thisquar_start = date('Y-m-d H:i:s', mktime(0, 0, 0,date('n')-(date('n')-1)%3,1,date('Y') ));
$thisquar_end = date('Y-m-d H:i:s', mktime(23,59,59,date('n')+(date('n')-1)%3,$getMonthDays,date('Y' )));
文例操作【注目4】
file_exists(ファイル名) 文件または目录が存在するかどうか
filesize(ファイル名) 取得文件大小
pathinfo(filename) 目录名、基本名および扩展名の关联数グループを返します
$path_parts = pathinfo("/www/htdocs/www.jnwebseo.com/index.html");
echo $path_parts["dirname"] 。 「ん」;
echo $path_parts["basename"] 。 「ん」;
echo $path_parts["extension"] 。 「ん」;
/www/htdocs/www.jnwebseo.com/index.html
mkdir(ディレクトリ名) 创建目录
rmdir(dirname) 删除空目录
fopen(ファイル名,模式) 打开文件
fclose(fp) 关闭文件
fwrite(fp,str,length) 書き込み文章
file_put_contents(ファイル名,コンテンツ) コンテンツを保存する文書
file_get_contents(ファイル名) 文件读内容を出力します
fread(fp,length) 读取文件
fgets() 从文件指针中读取一行
fgetc() 从文件指针中读取字符
file() は、全体の文書を数グループ内に挿入します。数グループ内の各個の元都は、文書内の対応する一行です
readfile() 一つの文書を読み込んで出力に書き込みます
copy(filename1,filename2) 复制文件
unlink(filename) 删除文件
rename(filename1,filename2) 重命名文件または目录
$text = iconv('gbk','utf-8','曾志伟');/// 将gbk编码转换はutf-8