ホームページ  >  記事  >  バックエンド開発  >  はじめてのPHP入門(2)共通関数、はじめてのPHP関数入門_PHPチュートリアル

はじめてのPHP入門(2)共通関数、はじめてのPHP関数入門_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-12 08:54:55854ブラウズ

初めての PHP 共通関数の紹介 (2)、初めての PHP 関数の紹介

簡単に参照できるように、いくつかの一般的なライブラリ関数と一般的な構文をここに記録します

1.PHPマニュアル

PHPマニュアル中国語アドレス http://php.net/manual/zh

2. いくつかの一般的な操作

2.1 文字列操作

2.1.1 strpos 最初に出現する文字列を検索

mixed strpos (string $haystack$haystack , mixed $needle [, int $offset , mixed $needle 内で最初に出現する の位置を返します。

needle 在 haystack

この文字列で検索します。

haystack

が文字列でない場合は、整数に変換され、文字の連続した値として扱われます。   needle

needle

このパラメータが指定されている場合、検索はこの文字数の文字列の先頭からカウントを開始します。

strrpos() や strripos() とは異なり、このオフセットは負の値にすることはできません。   offset

2.1.2

substr

文字列の部分文字列を返すstring substr ( string $string$string , int $start [, int $length , int $start [,int $length ] )string 由 start 和 length 文字列 string   stringstart 如果 start 是非负数,返回的字符串将从 string 的 start および length パラメータで指定された部分文字列を返します。 文字列を入力します。 が負ではない数値の場合、返される文字列は string 位置から始まります。 、0から計算します。たとえば、文字列「abcdef」では、 0

の位置にある文字は「a」、位置

2start 是负数,返回的字符串将从 string 结尾处向前数第 startの文字は「c」などとなります。

string 的长度小于或等于 start,将返回 FALSE 戻り値:

が負の数の場合、返される文字列は string の末尾の 文字から始まります。 stringの長さが 以下の場合、 FALSEが返されます。

🎜 🎜🎜🎜🎜🎜 2.1.3 🎜🎜🎜🎜🎜str_split🎜 —🎜🎜文字列を配列に変換🎜🎜🎜🎜🎜🎜🎜🎜🎜 🎜🎜

arraysplit (string $pattern$pattern , string $string [, int $limit , string $string [,int$limit] )

  string
  输入字符串。
  split_length
文字列を配列に変換します。

string

文字列を入力します。 split_length 参数,返回数组中的每个元素均为一个长度为 split_length split_length 各段落の長さ。

戻り値: split_length 小于 1,返回 FALSE。如果 split_length 参数超过了 string 超过了字符串 string オプションの split_length パラメータが指定されている場合、返される配列の各要素は split_length 文字ブロックの長さになります。それ以外の場合、各文字ブロックは単一の文字になります。

split_length

が1未満の場合、

FALSEを返します。 split_length パラメータが string を超えた場合 string code><span class="Apple-converted-space"> の場合、文字列全体が配列の唯一の要素として返されます。 <span class="Apple-converted-space"><span class="Apple-converted-space"><span class="refname"><span class="Apple-converted-space"><span class="Apple-converted-space"><span class="dc-title"></span></span></span></span> <br> </span> </span></span>

2.1.4 explode ある文字列を使用して別の文字列を分割する $delimiter , string $string [, int $limit array explode ( string $delimiter , 文字列 $string [,int $limit

] )🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜 🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜

この関数は、文字列で構成される配列を返します。各要素は stringstring 的一个子串,它们被字符串 delimiter という文字列で表されます。境界点として分割します。

delimiter

境界線の区切り文字。

  string

入力文字列。

  limit

limit 参数并且是正数,则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string パラメータが設定されており、それが正の数である場合、返される配列には最大でも 要素が含まれ、最後の要素には string の残りが含まれます。

limit 参数是负数,则返回除了最后的 -limit

パラメータが負の場合、最後の -

要素を除くすべての要素が返されます。 limit

が0の場合は1として扱います。

string 的一个子串,它们被字符串 delimiter この関数は文字列で構成される 配列を返します。各要素は string の部分文字列であり、境界点として文字列

で区切られます。 🎜🎜🎜🎜🎜🎜🎜

戻り値: 区切り文字が空の文字列("")の場合、delimiter 为空字符串(""),explode() 将返回 FALSE。 如果 delimiter 所包含的值在 string 中找不到,并且使用了负数的 limit , 那么会返回空的 array, 否则返回包含 stringexplode() FALSEを返します。 delimiter string にない値が含まれており、負の数値が使用されている場合 limit の場合、空の 配列が返されます。それ以外の場合は、 string 単一要素を含む配列が返されます。


2.1.5
preg_split
正規表現で文字列を分割する

$pattern , string $subject [, int $limit = -1 [, int $flags arraypreg_split (string ="パラメータ">$patアジサシ , string $subject [, int $limit = -1 [, int $flags = 0 ]] )

🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜 指定された文字列を正規表現で区切ります。

pattern

検索に使用される文字列形式のパターン。

  subject

入力文字列

  limit

指定した場合、分離を制限して得られる部分文字列は最大で

の設定になります。 limit个,返回的最后一个 子串将包含所有剩余部分。limit值为-1, 0或null时都代表"不限制", 作为php的标准,你可以使用null跳过对flags

  flags

flags<p class="para"> <code class="parameter">  flags<span class="Apple-converted-space"> </span>

には、次のフラグの任意の組み合わせを指定できます (ビットごとの OR 演算 | との組み合わせ):

PREG_SPLIT_NO_EMPTY  PREG_SPLIT_NO_EMPTY
  如果这个标记被设置, preg_split() 将进返回分隔后的非空部分。
  PREG_SPLIT_DELIM_CAPTURE
  如果这个标记设置了,用于分隔的模式中的括号表达式将被捕获并返回。
  PREG_SPLIT_OFFSET_CAPTURE
  如果这个标记被设置, 对于每一个出现的匹配返回时将会附加字符串偏移量. 注意:这将会改变返回数组中的每一个元素, 使其每个元素成为一个由第0 个元素为分隔后的子串,第1个元素为该子串在subject中的偏移量组成的数组。
  返回值:返回一个使用 pattern 边界分隔 subject このフラグが設定されている場合、 preg_split()
は分離された空でない部分を返します。

PREG_SPLIT_DELIM_CAPTURE このフラグが設定されている場合、区切りパターンで使用されている括弧式がキャプチャされて返されます。

PREG_SPLIT_OFFSET_CAPTURE
このフラグが設定されている場合、一致が発生するたびに文字列オフセットが戻り値に追加されます。 注: これにより、一致が発生するたびに文字列オフセットが変更されます。返された配列。各要素は
0
番目の要素で区切られた部分文字列になり、
1

番目の要素は subject のオフセットの配列です。

戻り値: パターン 境界 件名 で区切られた部分文字列で構成される配列を返します。

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&$array , mixed $var [, mixed $... , 混合 $var [, mixed $... ] )

array 当成一个栈,并将传入的变量压入 array 的末尾。array array_push()は、arrayをスタックとして扱い、受け取った変数をにプッシュします。最後に配列配列の長さは、スタックにプッシュされた変数の数に応じて増加します。

🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜
array  array
  输入的数组。
  var
入力配列。
var
プッシュされる値。
戻り値:処理後の配列の要素数を返します。
2.3 インデックス設定ファイル/ヘッダファイル追加 ​ 2.3.1 include ステートメントは、指定されたファイルをインクルードして実行します インクルードされたファイルは、まずパラメータで指定されたパスに従って検索されます。ディレクトリが指定されていない場合(ファイル名のみ)、include_pathで指定されたディレクトリに従って検索されます。ファイルが include_path で見つからない場合、最終的に include は、呼び出し元のスクリプト ファイルが配置されているディレクトリと現在の作業ディレクトリで検索されます。 include 構造は、最後にファイルが見つからない場合に警告を発行します。これは、致命的なエラーを発行する require とは異なります。

パスが定義されている場合 - 絶対パス (Windows ではドライブ文字または で始まり、Unix/Linux では / で始まる) か、現在のディレクトリへの相対パス (最初は. または .. を使用) - include_path は完全に無視されます。たとえば、ファイルが ../ で始まる場合、パーサーは現在のディレクトリの親ディレクトリでファイルを検索します。

ファイルがインクルードされると、そのファイルに含まれるコードは、インクルードが配置されている行の変数スコープを継承します。その時点から、呼び出し側ファイルのその行で使用可能な変数は、呼び出されたファイルでも使用できるようになります。ただし、インクルード ファイルで定義されたすべての関数とクラスはグローバル スコープを持ちます。

2.3.2 require ステートメントは、指定されたファイルをインクルードして実行します

requireandinc は、失敗の処理方法を除いて、ほぼ同じです。 requireは、エラーが発生したときに E_COMPILE_ERRORE_COMPILE_ERROR 级别的错误。换句话说将导致脚本中止而 include 只产生警告(E_WARNINGレベルのエラーを生成します。つまり、スクリプトは中止され、include は警告 (E_WARNING) を生成するだけで、スクリプトは実行を継続します。

3. よく使用されるライブラリ関数

3.1 時間 3.1.1 time 現在の Unix タイムスタンプを返します

inttime (void)

Unix エポック (1970 年 1 月 1 日 00:00:00 GMT) から現在時刻までの秒数を返します。

3.1.2 日付 現地時間/日付をフォーマットする

string date (string $format[,$format [, int $timestamp int $ TimesStamp ]

timestamp 按照给定的格式字串而产生的字符串。如果没有给出时间戳则使用本地当前时间。换句话说,timestamp 指定されたフォーマット文字列に従って、整数タイムスタンプによって生成された文字列を返します。タイムスタンプが指定されていない場合は、ローカルの現在時刻が使用されます。つまり、timestamp はオプションであり、デフォルト値は 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 スクリプト内のすべての日付と時刻の関数のデフォルトのタイムゾーンを設定します

bool date_default_timezone_set (string$timezone_identifier)

すべての日付と時刻の関数のデフォルトのタイムゾーンを設定します。

timezone_identifier

UTC Asia/Shanghai (中国本土の場合はこれを選択してください) などのタイムゾーン識別子。法的識別子のリストについては、http://php.net/manual/zh/timezones.php

を参照してください。

戻り値: timezone_identifiertimezone_identifier 参数无效则返回 FALSE,否则返回 TRUE パラメータが無効な場合は FALSE を返し、それ以外の場合は戻ります TRUE


3.2 JSON形式の操作

3.2.1 json_encode
JSONで変数をエンコードする

[ int $options = 0 [, int $ Depth = 512 $value [, int $options = 0 [, int $depth

値のJSON形式を返しますvalue

value

エンコードされるvalueは、resource型を除く任意のデータ型にすることができます。この関数は UTF-8 でエンコードされたデータのみを受け入れることができます

options

バイナリマスク定数。詳細については、http://php.net/manual/zh/json.constants.php

を参照してください。

depth

最大深度を設定します。 0 より大きくなければなりません。

戻り値: 成功した場合は JSON でエンコードされた string を返し、失敗した場合は FALSE を返します。

​​ 3.2.2 json_decode JSON形式の文字列をデコードします mixed json_decode ( string $json$json [, bool $assoc = false [, int $depth = 512 [, int $options [, bool $assoc = false [, int $ Depth = 512 [, int $optionsコードコード> = 0]]] JSON 形式の文字列を受け入れ、それを PHP 変数に変換します。 json json string デコードする形式の文字列。この関数は UTF-8 でエンコードされたデータのみを受け入れることができ、
object  json
  待解码的 json string 格式的字符串。该函数只能接受 UTF-8 编码的数据
  assoc
  当该参数为 TRUE 时,将返回 array 而非 object 。
  depth
  设置最大深度。 必须大于0。
  options
  二进制掩码常量。只支持JSON_BIGINT_AS_STRING の代わりに array
を返します。

深さ 最大深度を設定します。 0 より大きくなければなりません。 options バイナリマスク定数。 のみサポートJSON_BIGINT_AS_STRING ​ 3.3 ファイル操作 3.3.1

fopen

ファイルまたは URL を開く

resource fopen ( string $filename$filename , string $mode [, bool $use_include_path = false [, resource$context , string $mode [, bool $use_include_path = false [, resource$context ]] )

filename fopen() で指定された名前のリソースをストリームにバインドします。

filename

filename 是 "scheme://..." 的格式,则被当成一个 URL,PHP 将搜索协议处理器(也被称为封装协议)来处理此模式。如果该协议尚未注册封装协议,PHP 将发出一条消息来帮助检查脚本中潜在的问题并将filename

filename が「scheme://...」の形式の場合、URL として扱われ、PHP はこのパターンを処理するプロトコル ハンドラー (カプセル化プロトコルとも呼ばれます) を検索します。ラッパープロトコルがそのプロトコルに登録されていない場合、PHP はスクリプト内の潜在的な問題をチェックするのに役立つメッセージを発行し、 が通常のファイル名であるかのように実行を続行します。

PHP は mode がローカル ファイルとして指定されていると考えると、そのファイルのストリームを開こうとします。ファイルは PHP からアクセスできる必要があるため、ファイル アクセス許可でそのアクセスが許可されていることを確認する必要があります。セーフ モードまたは open_basedir が有効になっている場合は、さらに制限が適用されます。

  mode

🎜🎜🎜 🎜🎜🎜🎜🎜🎜 🎜🎜🎜 パラメータは、ストリームに必要なアクセスのタイプを指定します。次のようなことが考えられます: 🎜🎜説明'r'読み取り専用モードで開き、ファイルポインタをファイルヘッダーにポイントします。 'r+'読み取り/書き込みモードで開き、ファイルポインタをファイルヘッダーにポイントします。 「わ」書き込みモードで開き、ファイルポインタをファイルヘッダーにポイントし、ファイルサイズをゼロに切り詰めます。ファイルが存在しない場合は、作成してみてください。 「w+」読み取り/書き込みモードで開き、ファイルポインタをファイルヘッダーにポイントし、ファイルサイズをゼロに切り詰めます。ファイルが存在しない場合は、作成してみてください。 「あ」書き込みモードで開き、ファイルポインタをファイルの末尾に指します。ファイルが存在しない場合は、作成してみてください。 'a+'読み取り/書き込みモードで開き、ファイルポインタをファイルの末尾に指します。ファイルが存在しない場合は、作成してみてください。 「×」ファイルポインタをファイルヘッダーにポイントして、書き込み用に作成して開きます。ファイルが既に存在する場合、呼び出しは失敗し、
の可能な値のリストfopen()mode
mode
fopen()を返し、を生成します

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。