ホームページ >バックエンド開発 >PHPチュートリアル >PHP の基本 配列 (1)_PHP チュートリアル
PHP の配列は、実際には順序付けられたグラフです。グラフは値をキーにマッピングするタイプです。この型はさまざまな方法で最適化されているため、実際の配列、リスト (ベクトル)、ハッシュ テーブル (グラフの実装)、辞書、セット、スタック、キューなどとして使用できます。さらなる可能性を。別のPHP配列を値として使用できるので、ツリーのシミュレーションも簡単に行えます。
これらの構造の説明はこのマニュアルの範囲を超えていますが、各構造について少なくとも 1 つの例が見つかります。これらの構造の詳細については、この広範なトピックに関する外部の著作物を参照することをお勧めします。
構文
array()の定義
array()言語構造を使用して、新しい配列を作成できます。一定数のコンマ区切りの key => value パラメータのペアを受け入れます。
array( [key =>]value , ... )// key 可以是 integer 或者 string// value 可以是任何值 |
<?php $arr = array("foo" => "bar", 12 => true);echo $arr["foo"]; // barecho $arr[12]; // 1?> |
keyは整数または文字列です。キー名が標準表現の整数である場合、それは整数として解釈されます (たとえば、「8」は 8 として解釈され、「08」は「08」として解釈されます)。 PHP の配列添字の変数タイプは配列には影響しません。配列のタイプは 1 つだけで、整数と文字列の添字の両方を含めることができます。
値には任意の値を指定できます。
<?php $arr = array("somearray" => array(6 => 5, 13 => 9, "a" => 42));echo $arr["somearray"][6]; // 5echo $arr["somearray"][13]; // 9echo $arr["somearray"]["a"]; // 42?> |
指定された値にキー名が指定されていない場合は、現在の最大の整数インデックス値が取得され、新しいキー名はその値に 1 を加えたものになります。指定したキー名にすでに値が含まれている場合、その値は上書きされます。
<?php // This array is the same as ...array(5 => 43, 32, 56, "b" => 12);// ...this arrayarray(5 => 43, 6 => 32, 7 => 56, "b" => 12);?> |
キー名として TRUE を使用すると、整数 1 がキー名になります。キー名として FALSE を使用すると、整数 0 がキー名になります。キー名として NULL を使用することは、空の文字列を使用することと同じです。空の文字列をキーとして使用すると、空の文字列をキーとして値が作成 (または上書き) されます。これは、空の角括弧を使用する場合とは異なります。
配列やオブジェクトをキー名として使用することはできません。そうすると、「オフセット タイプが不正です」という警告が表示されます。
角括弧構文を使用して作成/変更し、値を明示的に設定して既存の配列を変更します。
これは、角括弧内にキー名を指定して配列に値を割り当てることで実現されます。キー名を省略することもできます。その場合は、空の角かっこ (「[]」) を変数名に追加します。
$arr[key] = value;$arr[] = value;// key 可以是 integer 或者 string// value 可以为任何值。 |
$arr がまだ存在しない場合は、新しいものが作成されます。これは、配列を定義する別の方法でもあります。値を変更するには、新しい値を割り当てるだけです。キーと値のペアを削除したい場合は、そのペアに対して unset() を使用します。
<?php $arr = array(5 => 1, 12 => 2);$arr[] = 56; // This is the same as $arr[13] = 56; // at this point of the script$arr["x"] = 42; // This adds a new element to // the array with key "x"unset($arr[5]); // This removes the element from the arrayunset($arr); // This deletes the whole array?> |
注: 上記のように、角括弧を指定してもキー名を指定しない場合は、現在の最大整数インデックス値が取得され、新しいキー名はその値になります。 +1。現在整数インデックスがない場合、キー名は 0 になります。指定したキー名にすでに値が設定されている場合、その値は上書きされます。