ホームページ  >  記事  >  バックエンド開発  >  PHP の配列

PHP の配列

WBOY
WBOYオリジナル
2016-07-30 13:30:141113ブラウズ

概要

PHPの配列は実際には順序付けされたマップであり、値をキーに関連付ける型です。

PHP は実際にはインデックス付き配列と連想配列を区別しないため、PHP 配列には整数型と文字列型の両方のキー名を含めることができます。

キーには整数または文字列を指定できます
値 (値) は任意のタイプの値にすることができます


配列を定義するには 2 つの方法があります

新しい配列を作成するには、array() 言語構造を使用できます

<code>array(  key =>  value
     , ...
 )
</code>

5.4 以降、短い配列を使用できます配列定義構文、[ ] を使用します。 array() を置き換えます

配列の最後の要素の後のカンマは省略できます。通常、array(1, 2, ) の代わりに array(1, 2) などの単一行の配列定義で使用されます。新しいセルを追加しやすくするために、複数行の配列定義の最後のカンマを残すのが一般的です。


配列のキー

キー(キー)は整数または文字列文字列にすることができます

さらに、キーには次の強制変換が行われます

  • 正当な整数値を含む文字列はに変換されます整数。たとえば、キー名「8」は実際には 8 として保存されます。ただし、「08」は有効な 10 進数値ではないため、キャストされません。
  • 浮動小数点数も整数に変換されます。つまり、小数部分は四捨五入されます。たとえば、キー名 8.7 は、実際には 8 として保存されます。
  • ブール値も整数に変換されます。つまり、キー名 true は実際には 1 として格納され、キー名 false は 0 として格納されます。
  • Null は空の文字列に変換されます。つまり、キー名 null は実際には "" として格納されます。
  • 配列やオブジェクトをキー名として使用することはできません。これを強制的に実行すると、「オフセット タイプが不正です」という警告が表示されます。

複数のユニットが配列定義で同じキー名を使用する場合、最後のもののみが使用され、前のものが上書きされます。

指定された値にキー名が指定されていない場合は、現在の最大のキー名が上書きされます。整数のインデックス値が使用され、現在整数のインデックスがない場合、新しいキー名はこの値に 1 を加えたものになります。


$foo['bar'] と $foo[bar]

$foo[bar] については、bar として定義された定数がない場合、PHP はそれを 'bar' に置き換えて使用します


配列トラバーサル

foreach 構文構造は、配列をトラバースする簡単な方法を提供します。 foreach は配列とオブジェクトにのみ適用できます。

2 つの構文があります:

<code>foreach (array_expression as $value)
    statement

foreach (array_expression as $key => $value)
    statement
</code>

unset()

unset() 関数を使用すると、配列内のキーを削除できます。ただし、配列のインデックスは再作成されないことに注意してください。インデックスを削除して再構築する必要がある場合は、array_values() 関数を使用できます。

<code>$a = array(1 => 'one', 2 => 'two', 3 => 'three');
unset($a[2]);
/* will produce an array that would have been defined as
   $a = array(1 => 'one', 3 => 'three');
   and NOT
   $a = array(1 => 'one', 2 =>'three');
*/

$b = array_values($a);
// Now $b is array(0 => 'one', 1 =>'three')
</code>

配列関数

http://php.net/manual/zh/ref.array.php


著作権表示: この記事はブロガーによるオリジナル記事であり、許可なく複製することはできませんブロガーの。

上記では、PHP の配列をその側面も含めて紹介しましたが、PHP チュートリアルに興味のある友人に役立つことを願っています。

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