ホームページ  >  記事  >  バックエンド開発  >  PHPベースの共通関数まとめ(配列、文字列、時刻、ファイル操作)_PHPチュートリアル

PHPベースの共通関数まとめ(配列、文字列、時刻、ファイル操作)_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:03:12676ブラウズ

配列: [キーポイント 1]
implode (区切られた、arr) は、指定された文字に従って配列値データを連結します
例:
$arr=array('1','2','3','4' ) ;
$str=implode('-',$arr);
explode([分離],arr) 指定されたルールに従って文字列を分割し、戻り値は配列エイリアスです join
array_merge() は 1 つまたはその他の配列
array_combine(array key, array value) は、1 つの配列の値をキー名として使用し、別の配列の値をその値として使用して配列を作成します
例:
$a = array('green','red ',' yellow ');
$b = array('avocado','apple','banana');
$c = array_combine($a, $b);
print_r($c);
/* 出力:
Array
(
[緑] => アボカド
[赤] => リンゴ
[黄] => バナナ
)
*/
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 = array (
'fruit1' => 'apple',
'fruit2' => 'orange',
'fruit3' => 'grape',
' Fruit4' => 'apple',
'fruit5' => 'apple'
);
// このサイクルは、値が "apple" に等しいすべてのキーをエコーし​​ます
while ($fruit_name = current($ array)) {
if ($fruit_name == 'apple') {
echo key($array).'
';
}
next($array);
}


reset(arr)数组的内部指针指向第一个单元
array_chunk( array input, int size [, bool preserve_keys])) 将一个数组分割成多个
将一个数组分割成多个数组,其中每个数组的单元数目由 size 决定。最后一个数组的单元数目可能会少几个。得到的数组是一个多维数组中的单元,其索引从零开始。
将可选参数 preserve_keys 设为 TRUE,可以使 PHP 保留输入数组中原来的键名。如果你指定了 FALSE,那每个结果数组将用从零开始的新数字索引。默认值是 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) 将字符串第一个字符大写
strtolower 变小写
ucwords(str) 将字符串每个字的第一个字母大写
strcmp(str1,str2)函数用来对两个字符串进行比较
substr_count()函数检索子串出现的次数
正则相关字符串函数:
preg_match(pattern,subject,matches) 在subject字符串中搜索与 pattern 给出的正则表达式相匹配的内容,匹配后的结果存放在matches里边,matches[0]全部匹配内容,matches[1]第一个模式单元matches[1]第二模式单元,以此类推.
preg_match_all(pattern,subject,matches)全局匹配,其余的preg_match函数相似
preg_replace(pattern,replacement,str) 执行正则表达式的搜索和替换,三种[string,string][array,string][array,array]
preg_split(pattern,str) 用正则表达式分割字符串
preg_grep(pattern,array)用正则表达式匹配数组的值,返回一个新的数组信息

时间【重点3】
PHP的日期时间函数date()
1,年-月-日
echo date('Y-m-j');
2007-02-6
echo date('y-n-j');
07-2-6
大写Y表示年四位数字,而小写y表示年的两位数字;
小写m表示月份的数字(带前导),而小写n则表示不带前导的月份数字。
echo date('Y-M-j');
2007-Feb-6
echo date('Y-m-d');
2007-02-06
大写M表示月份的3个缩写字符,而小写m则表示月份的数字(带前导0);
没有大写的J,只有小写j表示月份的日期,无前导o;若需要月份带前导则使用小写d。
echo date('Y-M-j');
2007-Feb-6
echo date('Y-F-jS');
2007-February-6th
大写M表示月份的3个缩写字符,而大写F表示月份的英文全写。(没有小写f)
大写S表示日期的后缀,比如“st”、“nd”、“rd”和“th”,具体看日期数字为何。

小结:
表示年可以用大写的Y和小写y;
表示月可以用大写F、大写M、小写m和小写n(分别表示字符和数字的两种方式);
表示日可以用小写d和小写j,大写S表示日期的后缀。

2,时:分:秒
默认情况下,PHP解释显示的时间为“格林威治标准时间”,与我们本地的时间相差8个小时。
echo date('g:i:s a');
5:56:57 am
echo date('h:i:s A');
05:56:57 AM
小写g表示12小时制,无前导0,而小写h则表示有前导0的12小时制。
当使用12小时制时需要表明上下午,小写a表示小写的“am”和“pm”,大写A表示大写的“AM”和“PM”。
echo date('G:i:s');
14:02:26
大写G表示24小时制的小时数,但是不带前导的;使用大写的H表示带前导的24小时制小时数
小结:
字母g表示小时不带前导,字母h表示小时带前导;
小写g、h表示12小时制,大写G、H表示24小时制。

3,闰年、星期、天
echo date('L');
今年是否闰年:0
echo date('l');
今天是:Tuesday
echo date('D');
今天是:Tue
大写L表示判断今年是否闰年,布尔值,为真返回1,否则为0;
小写l表示当天是星期几的英文全写(Tuesday);
而使用大写D表示星期几的3个字符缩写(Tue)。
echo date('w');
今天星期:2
echo date('W');
本周是全年中的第 06 周
小写w表示星期几,数字形式表示
大写W表示一年中的星期数
echo date('t');
本月是 28 天
echo date('z');
今天是今年的第 36 天
小写t表示当前月份又多少天
小写z表示今天是本年中第几天

4、その他
echo date('T');
UTC
大文字のTはサーバーのタイムゾーン設定を示します
echo date('I');
0
大文字のIは夏時間かどうかを示します、これは true 1 を返し、それ以外の場合は 0 を返します
echo date('U');
1170769424
大文字の U は、1970 年 1 月 1 日から現在までの合計秒数を表し、これは Unix 時間エポックの UNIX タイムスタンプです。
echo date('c');
2007-02-06T14:24:43+00:00
小文字の c は ISO8601 日付を表し、日付形式は YYYY-MM-DD で、日付と日付を区切るには文字 T を使用します。 time、時間形式 HH:MM:SS の場合、タイムゾーンはグリニッジ標準時 (GMT) からのオフセットとして表されます。
echo date('r');
Tue, 06 Feb 2007 14:25:52 +0000
小文字の r は RFC822 の日付を表します。
小さな date() 関数は、PHP のパワーと魅力を示しています (笑)。
checkdate($month,$date,$year)
この関数は、適用された値が有効な日付を形成する場合に true を返します。たとえば、エラー日が 2005 年 2 月 31 日の場合、この関数は false を返します。
この関数は、日付を計算に使用したりデータベースに保存したりする前に、日付をチェックして検証するために使用できます。

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

// は false を返します
echo checkdate(2,30,2005) ? "valid" : "invalid";
// は true を返します
echo checkdate (4,6,2010) ? "valid" : "invalid";
?>

getdate($ts)
独立変数がない場合、この関数は現在の日付と時刻を返します。配列内の各要素は、日付/時刻値の特定のコンポーネントを表します。オプションのタイムスタンプ引数を関数に送信して、タイムスタンプに対応する日付/時刻値を取得できます。
この関数を適用して、一連の離散的で簡単に分離できる日付/時刻値を取得します。

コードをコピー コードは次のとおりです:
// 日付を連想配列として取得します
$arr = getdate();
echo "日付は " $arr['mday' ] . " " . $arr['hours'] . " " . $arr['hours'] . ;
? >


mktime($hour, $分, $秒, $月, $日, $年)
この関数は getdate() の逆のことを行います。つまり、一連の日付とデータから生成されます。時間値 UNIX タイムスタンプ (GMT 1970 年 1 月 1 日から経過した秒数)。引数が使用されない場合、現在の時刻の UNIX タイムスタンプが生成されます。
この関数を使用して、即時の UNIX タイムスタンプを取得します。このようなタイムスタンプは、多くのデータベースやプログラミング言語で一般的に使用されています。


コードをコピー コードは次のとおりです:
// 13:15:23 7-Jun-2006 のタイムスタンプを返します
echo mktime(13,15,23,6,7 ,2006) ;
?>


date($format, $ts)
この関数は、UNIX タイムスタンプを人間が判読できる日付文字列にフォーマットします。これは、PHP 日付/時刻 API の中で最も強力な関数であり、整数の時刻ラベルを一連の補正値の必要な文字列形式に変換するために使用できます。
表示用に時刻または日付を書式設定する場合にこの関数を適用します。


コードをコピー コードは次のとおりです:
// 現在の日付をフォーマットします
// returns "13-Sep-2005 01:16 PM"
echo date("d-M-Y h: i A" , mktime());
?>


strtotime($str)
この関数は、人間が読める英語の日付/時刻文字列を UNIX 時刻タグに変換します。
この関数を適用して、標準化されていない日付/時刻文字列を標準の互換性のある UNIX タイムスタンプに変換します。


コードをコピー コードは次のとおりです:
// returns 13-Sep-05
echo date("d-M-y", strtotime("today"));
// returns 14-Sep-05
echo date("d-M-y", strtotime("tomorrow"));
// 16-Sep-05を返します
echo date("d-M-y", strtotime("today +3 days"));
?>


strftime($format,$ts)
前の setlocale() 関数で定義されているように、この関数は UNIX タイムスタンプを現在の環境に適した日付文字列にフォーマットします。
この関数を適用して、現在の環境と互換性のある日付文字列を作成します。


コードをコピーします コードは次のとおりです:
// ロケールをフランスに設定します (Windows の場合)
setlocale(LC_TIME, "fra_fra");
// 月/日をフォーマットしますnames
// ロケール設定に従って
// "septembre" と "mardi" を返します
echo strftime("Month: %B ");
echo strftime("Day: %A ");
?>


microtime()
前の setlocale() 関数で定義されているように、この関数は UNIX タイムスタンプを現在の環境に適した日付文字列にフォーマットします。
この関数を適用して、現在の環境と互換性のある日付文字列を作成します。
コードをコピーします コードは次のとおりです:

// 開始値を取得します
$start = microtime();
// コードを実行します
for ($x=0; $x<1000 ; $x++) {
$null = $x * $x;
}
// 終了値を取得
$end = microtime();
// コードの実行にかかった時間を計算します
echo "経過時間: " . ($ end - $start) .";
?>

gmmktime($hour, $ minutes, $second, $month, $day, $year)
この関数は系列で構成されています表現される GMT 時間の日付と時刻の値により UNIX タイムスタンプが生成されます。引数が使用されない場合、現在の GMT 時間の UNIX タイムスタンプが生成されます。
この関数を使用して、GMT インスタント時間の UNIX 時間ラベルを取得します。
コードをコピー コードは次のとおりです:

// 12:25:23 9-Jul-2006 のタイムスタンプを返します
echo gmmktime(12,25,23,7,9 ,2006) ;
?>

gmdate($format, $ts)
この関数は、UNIX 時間ラベルを人間が判読できる日付文字列にフォーマットします。この日付文字列は GMT (現地時間ではない) で表されます。
GMT で時間ラベルを表現する場合にこの関数を適用します。
コードをコピー コードは次のとおりです:

// 現在の日付を GMT にフォーマットします
// returns "13-Sep-2005 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
$today = date("Y-m-d");
//Yesterday
$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("Y")));
$lastweek_end = date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date(" d")-date( "w")+7-7,date("Y")));
//今週
$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")));
//この四半期/
$thisquant_start = date('Y-m-d H:i :s', mktime(0, 0, 0,date('n')-(date('n')-1)%3,1,date('Y')));
$this四半期_end = date(' Y-m-d H:i:s', mktime( 23,59,59,date('n')+(date('n')-1)%3,$getMonthDays,date('Y')));

ファイル操作【ポイント4】
file_exists(filename) ファイルまたはディレクトリの有無
filesize(filename) ファイルサイズを取得
pathinfo(filename) ディレクトリ名、ベース名、拡張子の連想配列を返す
$path_parts = pathinfo(" /www/htdocs/index.html");
echo $path_parts["dirname"] . "n";
echo $path_parts["basename"] "n";
echo $path_parts["extension "] . " n";
/www/htdocsindex.htmlhtml
mkdir(dirname) ディレクトリを作成
rmdir(dirname) 空のディレクトリを削除
fopen(filename, mode) ファイルを開く
fclose(fp) ファイルを閉じる
fwrite(fp, str,length) ファイルに書き込む
file_put_contents(filename,content) コンテンツをファイルに保存する
file_get_contents(filename) ファイルからコンテンツを読み取る
fread(fp,length) ファイルを読み取る
fgets() から行を読み取るファイルポインター
fgetc() ファイルポインターから文字を読み取ります
file() はファイル全体を配列に読み取ります。配列内の各単位はファイル内の対応する行です
readfile() ファイルを読み取り、出力に書き込みますバッファ
copy( filename1,filename2) ファイルをコピー
unlink(filename) ファイルを削除
rename(filename1,filename2) ファイルまたはディレクトリの名前を変更
$text = iconv('gbk','utf-8','Gao Zhiwei'); /// gbk エンコーディングを utf-8 に変換します

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/327876.html技術記事配列: [キー ポイント 1] implode (分離、arr) は、指定された文字に従って配列値データを連結します。 例: $arr=array('1','2','3','4'); implode( '-',$arr); 指定されたルールに従ってexplode([分離],arr)...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。