ホームページ >バックエンド開発 >PHPチュートリアル >はじめてのPHP入門(2) 共通機能
簡単に参照できるように、いくつかの一般的なライブラリ関数と一般的な構文をここに記録します
1. PHP マニュアル
PHP マニュアルの中国語アドレス http://php.net/manual/zh
2. いくつかの一般的な操作
2.1 文字文字列操作
2.1.1 strpos — 文字列の最初の出現を検索します
Mixed strpos ( string $haystack ,mixed $needle [, int $offset = 0 ] )
haystack の最初の出現を返します。 。
haystack
この文字列で検索します。
needle
needleが文字列でない場合は、整数に変換され、文字の連続値として扱われます。
offset
このパラメータを指定すると、文字列の文字数の開始位置から検索が開始されます。 strrpos() や strripos() とは異なり、このオフセットを負の値にすることはできません。
2.1.2 substr — 文字列の部分文字列を返す
string substr ( string $string , int $start [, int $length ] )
start パラメータと length パラメータ string で指定された文字列の部分文字列を返します。
string
文字列を入力します。
start
start が負でない数値の場合、返される文字列は string の開始位置から始まり 0 からカウントされます。たとえば、文字列「abcdef」では、位置 0 の文字は「a」、位置 2 の文字は「c」などとなります。
戻り値:
start が負の数の場合、返される文字列は文字列の末尾から前方の開始文字から始まります。
文字列の長さがstart以下の場合はFALSEを返します。
2.1.3 str_split — 文字列を配列に変換する
array split ( string $pattern , string $string [, int $limit ] )
文字列を配列に変換します。
string 文字列を入力します。 split_length 各セグメントの長さ。
戻り値:
オプションのsplit_lengthパラメータが指定されている場合、返される配列の各要素は長さsplit_lengthの文字ブロックになり、それ以外の場合は各文字ブロックが単一の文字になります。
split_length が 1 未満の場合は、FALSE を返します。 split_length 引数が string の長さを超える場合、文字列全体が配列の唯一の要素として返されます。
2.1.4explode — 1つの文字列を使用して別の文字列を分割する
array explode ( string $delimiter , string $string [, int $limit ] )
この関数は、Array で構成される文字列を返します。要素は文字列の部分文字列であり、境界点として文字列デリミタによって区切られます。
delimiter
境界線の区切り文字。
string
入力文字列。
limit
limit パラメータが設定されており、それが正の数の場合、返される配列には最大でもlimit要素が含まれ、最後の要素には文字列の残りが含まれます。
limit パラメータが負の数の場合、最後の -limit 要素を除くすべての要素が返されます。
limitが0の場合は1として扱われます。
この関数は文字列で構成される配列を返します。各要素は文字列の部分文字列であり、境界点として文字列区切り文字で区切られます。
戻り値: 区切り文字が空の文字列("")の場合、explode()はFALSEを返します。 delimiter に含まれる値が string 内に見つからず、負の制限が使用された場合は、空の配列が返されます。それ以外の場合は、string の 1 つの要素を含む配列が返されます。
2.1.5 preg_split — 正規表現で文字列を分割する
array preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] )
指定された文字列を正規表現で分割します。
pattern
Search patternを使用する、文字列形式。
subject
入力文字列
limit
指定した場合、limit を除算して得られる部分文字列の最大数は limit となり、返される最後の部分文字列には残りの部分がすべて含まれます。制限値は -1、0、または null は「制限なし」を意味します。PHP 標準として、null を使用してフラグの設定をスキップできます。
flags
flags は、次のフラグの任意の組み合わせにすることができます (ビットごとの OR 演算 | 組み合わせ):
PREG_SPLIT_NO_EMPTY このフラグが設定されている場合、preg_split() は分離された空でない部分を返します。 PREG_SPLIT_DELIM_CAPTURE このフラグが設定されている場合、区切り文字で区切られたパターンで使用されている括弧式がキャプチャされて返されます。 PREG_SPLIT_OFFSET_CAPTURE このフラグが設定されている場合、一致が発生するたびに文字列オフセットが戻り値に追加されます。これにより、返された配列内の各要素が 0 番目の最初の要素から始まる要素になるように変更されます。は分離された部分文字列であり、最初の要素はサブジェクト内の部分文字列のオフセットで構成される配列です。 戻り値: パターン境界を使用してサブジェクトを分割して得られる部分文字列から構成される配列を返します。
2.2 配列操作
2.2.1 array — 新しい配列を作成します
array array ([mixed $...] )
配列を作成します。
カンマで区切られた「index => value」という構文でインデックスと値を定義します。インデックスには文字列または数値を指定できます。インデックスを省略した場合は、0 から始まる整数のインデックスが自動生成されます。インデックスが整数の場合、次に結果として得られるインデックスは、これまでの最大の整数インデックス + 1 になります。 2 つの同一のインデックスが定義されている場合、後者のインデックスが前のインデックスを上書きすることに注意してください。
戻り値:パラメータに基づいて作成された配列を返します。 => 演算子を使用してパラメータにインデックスを付けることができます。
2.2.2 array_push — 1 つ以上の要素を配列の末尾にプッシュする (プッシュ)
int array_push ( array &$array ,mixed $var [,mixed $... ] )
array_push() 配列をスタックとして扱い、渡された変数を配列の最後にプッシュします。配列の長さは、スタックにプッシュされた変数の数に応じて増加します。
array 入力配列。 var プッシュされる値。 戻り値: 処理後の配列の要素数を返します。
2.3 インデックス設定ファイル/ヘッダファイルの追加
2.3.1 include文は指定されたファイルをインクルードして実行します
ディレクトリがない場合(ファイル名のみ)、インクルードされたファイルはまずパラメータで指定されたパスに従って検索されます。が与えられた場合、include_path で指定されたディレクトリに従って検索します。ファイルが include_path の下に見つからない場合、include は最終的に、呼び出し元のスクリプト ファイルが配置されているディレクトリと現在の作業ディレクトリを検索します。 include コンストラクトは、ファイルが最後に見つからない場合に警告を発行します。これは、致命的なエラーを発行する require とは異なります。
パスが定義されている場合、それが絶対パス (ドライブ文字で始まる、または Windows では、Unix/Linux では / で始まる) か、現在のディレクトリへの相対パス (. または .. で始まる) であるかに関係なく、 include_path は完全に無視されること。たとえば、ファイルが ../ で始まる場合、パーサーは現在のディレクトリの親ディレクトリでファイルを検索します。
ファイルがインクルードされると、そのファイルに含まれるコードは、インクルードが配置されている行の変数スコープを継承します。その時点から、呼び出し側ファイルのその行で使用可能な変数は、呼び出されたファイルでも使用できるようになります。ただし、インクルード ファイルで定義されたすべての関数とクラスにはグローバル スコープがあります。
2.3.2 require ステートメントは、指定されたファイルをインクルードして実行します
require と include は、失敗の処理方法を除いて、ほぼまったく同じです。 requireは、エラーが発生したときにE_COMPILE_ERRORレベルのエラーを生成します。つまり、スクリプトは中止され、インクルードは警告 (E_WARNING) を生成するだけで、スクリプトは実行を継続します。
3. よく使われるライブラリ関数
3.1 Time
3.1.1 time - 現在のUnixタイムスタンプを返す
int time (void)
以降のUnixエポックを返す1970 GMTの数2000 年 1 月 1 日 (00:00:00) から現在時刻までの秒数。
3.1.2 date — ローカル時刻/日付をフォーマットします
string date ( string $format [, int $timestamp ] )
指定されたフォーマット文字列 string に従って生成された整数のタイムスタンプを返します。タイムスタンプが指定されていない場合は、ローカルの現在時間が使用されます。つまり、タイムスタンプはオプションであり、デフォルト値は time() です。
format 特定の形式: http://php.net/manual/zh/function.date.php
3.1.3 date_default_timezone_get — すべての日付と時刻の関数で使用されるデフォルトのタイムゾーンを取得します。スクリプト
string date_default_timezone_get ( void )
この関数はデフォルトのタイムゾーンを返します
3.1.4 date_default_timezone_set — スクリプト内のすべての日付と時刻の関数のデフォルトのタイムゾーンを設定します
ol date_default_timezone_set ( string $ timezone_identifier )
すべての日時関数に使用されるデフォルトのタイムゾーンを設定します。
timezone_identifier
UTC やアジア/上海などのタイムゾーン識別子 (中国本土の場合はこれを選択します)。法的な識別子のリストについては、http://php.net/manual/zh/timezones.php
を参照してください。戻り値: timezone_identifier パラメーターが無効な場合は FALSE を返し、それ以外の場合は TRUE を返します。
3.2 JSON形式の操作
3.2.1 json_encode — 変数のJSONエンコード
string json_encode (mixed $value [, int $options = 0 [ 、 int $ Depth = 512 ] ] )
value の JSON 形式を返します
value
エンコードされる値は、リソースタイプを除く任意のデータ型にすることができます。この関数は、UTF-8 でエンコードされたデータのみを受け入れることができます
オプション
バイナリマスク定数。詳細は http://php.net/manual/zh/json.constants.php を参照してください
深さ
最大の深さを設定します。 0 より大きくなければなりません。
戻り値: 成功した場合は JSON エンコードされた文字列を返し、失敗した場合は FALSE を返します。
3.2.2 json_decode - JSON形式の文字列をデコードする
mixed json_decode ( string $json [, bool $assoc = false [, int $ Depth = 512 [, int $options = 0]] ] )
JSON形式の文字列を受け入れてPHP変数に変換します
json デコードするjson文字列形式の文字列。この関数は UTF-8 でエンコードされたデータのみを受け入れることができます assoc このパラメータが TRUE の場合、 object の代わりに array を返します。 深さ 最大深さを設定します。 0 より大きくなければなりません。 オプション バイナリマスク定数。 JSON_BIGINT_AS_STRING のみをサポートします
3.3 ファイル操作
3.3.1 fopen — ファイルまたは URL を開きます
リソース fopen ( string $filename , string $mode [ , bool $use_include_path = false [ 、リソース$コンテキスト]] )
fopen() filename で指定された名前リソースをストリームにバインドします。
filename
filename が「scheme://...」の形式である場合、それは URL として扱われ、PHP はこのパターンを処理するためのプロトコル ハンドラー (ラッパー プロトコルとも呼ばれます) を検索します。ラッパー プロトコルがそのプロトコルに登録されていない場合、PHP はスクリプト内の潜在的な問題をチェックし、通常のファイル名として filename の実行を続行するのに役立つメッセージを発行します。
PHP が filename がローカル ファイルを指定していると判断した場合、そのファイルのストリームを開こうとします。ファイルは PHP からアクセスできる必要があるため、ファイル アクセス許可でこのアクセスが許可されていることを確認する必要があります。セーフ モードまたは open_basedir がアクティブ化されている場合は、さらに制限が適用されます。
mode
mode パラメータは、ストリームに必要なアクセスのタイプを指定します。次のとおりです:
fopen() モードの可能な値のリスト'r' | ファイル ポインタをファイル ヘッダーにポイントして、読み取り専用モードで開きます。 |
'r+' | 読み取りおよび書き込みモードで開き、ファイル ポインタをファイル ヘッダーにポイントします。 |
'w' | 書き込みモードで開き、ファイル ポインタをファイル ヘッダーにポイントし、ファイル サイズをゼロに切り捨てます。ファイルが存在しない場合は、作成してみてください。 |
'w+' | 読み取りおよび書き込みモードで開き、ファイル ポインターをファイル ヘッダーにポイントし、ファイル サイズをゼロに切り捨てます。ファイルが存在しない場合は、作成してみてください。 |
'a' | 書き込みモードで開き、ファイル ポインタをファイルの末尾に指します。ファイルが存在しない場合は、作成してみてください。 |
'a+' | 読み取りおよび書き込みモードで開き、ファイル ポインタをファイルの末尾に指します。ファイルが存在しない場合は、作成してみてください。 |
'x' | ファイル ポインタをファイル ヘッダーにポイントして、書き込み用に作成して開きます。ファイルが既に存在する場合、fopen() 呼び出しは失敗して FALSE を返し、E_WARNING レベルのエラー メッセージを生成します。ファイルが存在しない場合は、作成してみてください。これは、基礎となる open(2) システム コールに O_EXCL|O_CREAT フラグを指定するのと同じです。 |
'x+' | 読み取り/書き込みモードで作成およびオープンされ、その他の動作は 'x' と同じです。 |
use_include_path
include_path 内のファイルも検索する必要がある場合は、オプションの 3 番目のパラメーター use_include_path を '1' または TRUE に設定できます。
context
Context
戻り値:
オープンに失敗した場合、この関数はFALSEを返します。
エラーメッセージ: オープンに失敗すると、E_WARNING エラーが生成されます。エラーは @ を使用してマスクできます。
3.3.2 fgets — ファイルポインタから行を読み取る
string fgets ( resource $handle [, int $length ] )
ファイルポインタから行を読み取ります。
handle
ファイルポインタは有効でなければならず、fopen() または fsockopen() によって正常にオープンされた (そして fclose() によってクローズされていない) ファイルを指している必要があります。
length
handle が指すファイルから 1 行を読み込み、最大 length - 1 バイトの長さの文字列を返します。改行文字 (戻り値に含まれる)、EOF、または長さ - 1 バイト (いずれか最初に発生した方) が読み取られたときに停止します。長さが指定されていない場合、デフォルトは 1K、つまり 1024 バイトになります。
戻り値:
ポインタハンドルが指すファイルから length - 1 バイトを読み込んだ後の文字列を返します。 ファイル ポインターにデータがなくなった場合は、FALSE を返します。
エラーが発生した場合はFALSEを返します。
3.3.3 fread — ファイルの読み取り (バイナリファイルに対して安全)
string fread ( resource $handle , int $length )
fread() ファイルポインタハンドル長バイトまで読み取ります。 この関数は、次の状況に遭遇すると、ファイルの読み取りを停止します:
ハンドル
ファイル システム ポインター。通常は fopen() によって使用されます。作成されたリソース。
length
最大 length バイトを読み取ります。
戻り値: 読み取った文字列を返すか、失敗した場合はFALSEを返します。
3.3.4 fwrite — ファイルに書き込む (バイナリファイルには安全)
int fwrite ( resource $handle , string $string [, int $length ] )
fwrite () handful 内容の文字列がファイル ポインタ ハンドルに書き込まれます。
handle
ファイルシステムポインタは、通常は fopen() によって作成されるリソースです。
string
書き込まれる文字列
Ength
length が指定されている場合、length バイトが書き込まれたとき、または string が書き込まれたとき、どちらか先に遭遇した時点で書き込みが停止します。
戻り値: fwrite() 書き込まれた文字数、またはエラーが発生した場合はFALSEを返します。
3.3.5 fclose - 開いているファイルポインターを閉じる
bool fclose (resource $handle)
handle が指すファイルを閉じます。
handle
ファイルポインタは有効であり、fopen() または fsockopen() 経由で正常に開かれている必要があります。
戻り値: 成功した場合はTRUE、失敗した場合はFALSEが返されます。
3.3.6 file_get_contents — ファイル全体を文字列に読み込みます
string file_get_contents ( string $filename [, bool $use_include_path = false [, resource$context [, int $offset = - 1 [, int $マックスレン ]]]] )
file() と同じですが、file_get_contents() がファイルを文字列に読み取る点が異なります。 length maxlen の内容は、パラメータ offset で指定された位置から読み込まれます。失敗すると、file_get_contents() は FALSE を返します。
この関数では、ファイルを開いたり、ファイル ストリームを閉じたりする必要はありません。とても便利。
file_get_contents() 関数は、ファイルの内容を文字列に読み取るための推奨メソッドです。オペレーティング システムがサポートしている場合は、パフォーマンスを向上させるためにメモリ マッピング テクノロジも使用されます。
特殊文字 (スペースなど) を含む URL を開きたい場合は、URL エンコードに urlencode() を使用する必要があります。
path | 必須。読み込むファイルを指定します。 |
include_path | オプション。 include_path 内のファイルも検索したい場合は、このパラメータを「1」に設定できます。 |
コンテキスト |
オプション。ファイルハンドルの環境を指定します。 context は、ストリームの動作を変更できるオプションのセットです。 null が使用された場合、それは無視されます。 |
開始 | オプション。ファイル内の読み取りを開始する位置を指定します。このパラメータは PHP 5.1 の新しいパラメータです。 |
max_length | オプション。読み取るバイト数を指定します。このパラメータは PHP 5.1 の新しいパラメータです。 |
例:
$homepage = file_get_contents('http://www.example.com/ ');
echo $homepage;
?>