PHP の 配列 は、実際には順序付きマップです。マッピングは、valuesをkeysに関連付けるタイプです。この型はさまざまな方法で最適化されているため、実数の配列、リスト (ベクトル)、ハッシュ テーブル (マップの実装)、ディクショナリ、セット、スタック、キューなどとして扱うことができます。さらなる可能性を。配列要素の値を別の配列にすることもできます。ツリー構造と多次元配列も許可されます。
array() 言語構造を使用して、新しい array を作成できます。カンマで区切られた任意の数の key => value ペアを受け入れます。
keyには、整数または文字列を指定できます。 key が integer の標準表現である場合、それは整数として解釈されます (例: "8" は 8 として解釈され、"08" は "08" として解釈されます) )。 keyの浮動小数点数はintegerに丸められます。 PHP では、インデックス付き配列は連想配列と同じであり、どちらも整数と文字列の添字を含むことができます。
値には任意の PHP タイプを指定できます。
指定された値にキーが指定されていない場合は、現在の最大の整数インデックス値が取得され、新しいキー名はその値に 1 を加えたものになります。指定したキー名にすでに値が設定されている場合、その値は上書きされます。
キー名として TRUE
を使用すると、integer 1 がキー名になります。キー名として FALSE
を使用すると、キー名は integer 0 になります。キー名として NULL を使用することは、空の文字列を使用することと同じになります。空の文字列をキーとして使用すると、空の文字列をキーとして値が作成 (または上書き) されます。これは、空の角かっこを使用する場合とは異なります。
配列やオブジェクトをキーとして使用することはできません。これを行うと、「オフセット タイプが不正です」という警告が表示されます。
角かっこ構文を使用して作成/変更します$arrがまだ存在しない場合は、新しいものが作成されます。これは、配列を定義する別の方法でもあります。値を変更するには、新しい値を割り当てるだけです。キーと値のペアを削除したい場合は、それに unset() を使用します。
注: 角括弧が指定されているがキー名が指定されていない場合は、現在の最大整数インデックス値が取得され、新しいキー名はその値 + 1 になります。現在整数インデックスがない場合、キー名は 0 になります。指定したキー名にすでに値が設定されている場合、その値は上書きされます。 ここで使用される最大の整数のキー名は
現在配列内にあるものであるとは限りません。最後に配列のインデックスが再作成されてから存在している必要があります。 文字列として表される配列インデックスは常に引用符で囲む必要があります。たとえば、$foo[bar] の代わりに $foo['bar'] を使用します。しかし、なぜ $foo[bar] は間違っているのでしょうか?
その理由は、このコードには文字列 (「bar」 - 引用符に注意してください) の代わりに未定義の定数 (bar) があり、PHP が後でこの定数を定義する可能性があるためです。残念ながら、コード内に同じ名前があります。これが機能するのは、PHP が
裸の文字列 (引用符がなく、既知の記号に対応しない文字列) を、値がその裸の文字列である通常の文字列に自動的に変換するためです。たとえば、barとして定義された定数がない場合、PHPはそれを
'bar'に置き換えて使用します。
http://www.bkjia.com/PHPjc/325301.html