ホームページ  >  記事  >  php教程  >  PHP コア テクノロジ - 配列の使用

PHP コア テクノロジ - 配列の使用

WBOY
WBOYオリジナル
2016-06-21 08:50:16749ブラウズ

配列: データ型です。コレクションタイプ。

同じ種類のデータの集合。

キーと値のペアの順序付けされたコレクション。キー/値のキーと値のペア。

配列は次の要素で構成されます:

要素はキーと値のペアのセットです。ここで、key 要素の添字 value 要素の値。

トラバーサル: すべての配列要素を最初から最後まで処理します。

配列要素を見つける方法:

配列には多数の要素が含まれるため、通常、配列の要素を見つけるときに使用される形式は配列要素の添字です。

しかし、場合によっては、特にトラバースするとき (配列内の各要素を集中してループするとき)、要素の位置決め方法として配列ポインターを使用することがあります。同時に、このポインターは 1 つの配列要素のみを指すことができます。

配列を取得するにはどうすればよいですか?配列を定義するにはどうすればよいですか?

Array();

配列名[]=値;

通常、配列の要素を定義するときは、要素の添字と値を指定する必要があります。

配列要素の添え字は、整数または文字列型である必要があります。

配列要素の値は任意のデータ型にすることができます。

下付き文字:

通常、それらは整数型と文字列型です。ただし、誤って配列要素に別のタイプの添え字を設定した場合、PHP は他のタイプの添え字を適切な形式に変換しようとします。ただし、配列やオブジェクトを添字として使用することはできません。

配列要素を定義するときに添字が指定されていない場合は、整数の添字を使用する必要があることを意味します。添え字のサイズは、現在の配列構造に基づきます。新しい添字は、現在の配列内の最大の整数添字の値に基づいて、+1 の形式で決定されます。現在の配列に整数値がない場合は、0 から始まります。

1 から始まるインデックスを持つ配列を定義する必要がある場合、どのように定義すればよいでしょうか?

添字の定義が整数に直接変換できる文字列である場合、その文字列は整数に変換されます:

一方、整数型に直接変換できない場合は、引き続き文字列型を使用します。

空の文字列を添え字として使用できます。負の数値を添え字として使用できますが、この負の数値は添え字を生成するための基礎として使用されません (負の数値に 1 は加算されません)。

ヒント: 上記のテストは [] 構文にも適用できます。つまり、括弧内にさまざまなデータ型を記述することができます。

角括弧 [] 内では、要素を見つけるために配列要素の添字を使用する必要があります。

[式]

に式を記述できます。

定数を記述することもできます:

ただし、文字列を添字として使用する場合は、文字列の前後に引用符を追加する必要があります。そうしないと、識別子が最初に定数に解析され、対応する定数がない場合は文字列として認識されます。効率が低下します。対応する定数が存在する場合でも、ビジネス ロジックには問題が発生します。

ヒント: 上記の問題の理由は、[] の解析によって引き起こされるのではなく、定数を解析するときに PHP がこのように処理するためです。

Php では、要素の値は任意のデータ型にできるため、配列型にすることもできます。要素の値が配列型の場合、それを多次元配列と呼ぶことができます。

ただし、基本的には多次元配列は存在しません。上記の多次元配列は、ある配列要素の値が配列であるだけです。

同様に、多次元配列の場合は、複数の [] を使用して特定の要素の値にアクセスできます:

配列の分類:

配列要素のインデックスの種類に応じて、次のように分類されます:

インデックス付き配列と連想配列。

インデックス配列: 要素の添字がすべて数値である配列。通常は 0 から始まる一連の配列要素です。

連想配列: 要素の添字は要素の値に関連付けられ、要素の添字は文字列型であり、文字列は情報を記述する機能を持つことができます。

ただし、PHP 配列の特殊性により、PHP 配列要素の添字は数値インデックスまたは文字列の関連付けのいずれかになり、同時に存在することができます。

PHP 配列のデータ構造は、キーと値のペアであるリンク リスト (ハッシュ テーブル) として実装されているためです。

配列には複数の要素が含まれるため、通常は特定の要素の値を使用するため、配列を走査する状況が常に発生します。

配列トラバーサル:

配列変数は基本的に配列ポインターに依存します。

最初に配列を作成すると、配列内のポインタは配列の最初の要素を指します。配列ポインタが指す要素の情報を毎回取得できれば。次に、配列ポインタを最初から最後まで移動できれば、配列の走査を完了できます。

配列を走査する最も一般的に使用される方法は、foreach 言語構造です:

Foreach (現在の配列ポインターが指す要素の値変数を保持するために走査する必要がある配列) {

ループ本体。現在走査されている配列要素はここで処理できます

Foreach (現在の配列ポインターが指す要素の添字変数を保持するため、トラバースする必要がある配列 => 現在の配列ポインターが指す要素の値変数を保持します) {

​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​現在走査されている配列要素はここで処理できます

注: 上記のコードでは、配列ポインターを移動する操作を明示的に実行していませんが、foreach は要素情報を取得するたびに現在のポインターを 1 ビット下に移動します。そして、走査が完了すると、foreach は配列ポインターを配列の先頭に移動します。配列は無制限にアクセスできることが保証されています。

多次元配列の場合、どのように走査すればよいでしょうか?

効果を得るために、foreach 内で foreach を再度ネストすることができます。

Foreach 転送メソッド: 値転送:

ただし、最初のものとは対照的に、値による受け渡し、参照による受け渡しもサポートされています。

元の配列を変更する必要がある場合は、元の配列を直接操作することもできます:

文字列関数:

少量の通常の文字列の処理は、通常、文字列処理関数を使用して完了します

処理方法はバイト単位です。

Gbk エンコーディング: 1 つの漢字は 2 バイトを占めます

Utf8 エンコード 漢字は 3 バイトを占めます。

Strlen(); 長さ

Substr (文字列、開始位置、インターセプト長): インターセプト文字列

文字に合わせて加工します。

たとえば、JavaScript 文字列は文字に従って処理されます。

PHP はデフォルトでは文字を使用できないため、PHP のマルチバイト文字拡張機能を使用して実装する必要があります。

Php.ini:

Mb_strlen();

Mb_substr();

正規表現

文字列のバッチ処理、正規表現。

ユーザーが入力したデータが電子メール アドレスであるかどうかを確認しますか?特定の文字列ルールに準拠しているかどうか。

正規表現を使用する一般的な場所:

フォーム検証 - ユーザー データ (ブラウザからのデータ、取得、投稿) の検証。 JavaScriptの通常とphpの通常を使用して共同処理します。

収集処理 – クローラー:



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