Web 開発テクノロジーの発展により、PHP は最も一般的に使用されるサーバーサイド プログラミング言語の 1 つになりました。 PHP プログラミングでは、配列は複数の変数または値を格納するために使用される非常に重要なデータ型です。 PHP には、通常の配列と SPL (Standard PHP Library、Standard PHP Library) 配列の 2 種類の配列があります。この記事では、これら 2 つのアレイの違いを紹介します。
通常の配列は PHP の組み込み配列であり、array() 関数または [] を使用してコードで宣言でき、複数のデータ型をサポートします。要素。例:
$numbers = array(1, 2, 3); $fruits = ['apple', 'orange', 'banana']; $people = array( 'Tom' => 30, 'Jane' => 25, 'Dave' => 42 );
SPL 配列は、SPL ライブラリを使用して実装された配列であり、最初に SPL ライブラリのクラスを通じて宣言および初期化する必要があります。例:
$numbers = new SplFixedArray(3); $numbers[0] = 1; $numbers[1] = 2; $numbers[2] = 3; $people = new SplObjectStorage(); $person1 = new stdClass(); $person1->name = 'Tom'; $people->attach($person1, ['age' => 30]);
上記のサンプル コードからわかるように、通常の配列は array() 関数または [] を使用して定義する必要がありますが、SPL 配列はクラスの助けを借りて定義する必要があります。 SPLライブラリ。さらに、SPL アレイは、以下で説明するように、いくつかの特定のメソッドをサポートします。
通常の配列のサイズは動的に調整でき、要素はいつでも追加または削除できます。 SPL 配列のサイズは作成時に決定され、変更できません。これは、配列サイズが定義されると、要素を追加または削除できないことを意味します。
$numbers = array(1, 2, 3); $numbers[] = 4; // 添加一个元素 unset($numbers[1]); // 删除一个元素
SPL 配列のサイズはすでに固定されているため、アクセスが高速になります。
配列操作$numbers = new SplFixedArray(3); $numbers[0] = 1; $numbers[1] = 2; $numbers[2] = 3; $numbers[3] = 4; // 报错,无法添加元素 unset($numbers[1]); // 报错,无法删除元素
SPL 配列も同様の機能をサポートします。操作は可能ですが、特定のメソッドを使用する必要があります。たとえば、SplFixedArray クラスの add() メソッドと setSize() メソッドを使用して、サイズを追加および設定できます。
$numbers = array(1, 2, 3); array_push($numbers, 4); // 在数组末尾添加一个元素 array_pop($numbers); // 从数组末尾删除一个元素 array_unshift($numbers, 0); // 在数组开头添加一个元素 array_shift($numbers); // 从数组开头删除一个元素
$numbers = new SplFixedArray(3); $numbers[0] = 1; $numbers[1] = 2; $numbers[2] = 3; $numbers->add(4); // 在数组末尾添加一个元素 $numbers->setSize(4); // 手动设置数组大小
SPL 配列は、SPL イテレータを使用して走査できます。 SPL イテレータは、さまざまなデータ構造を横断するための統合インターフェイスを提供します。たとえば、SplFixedArrayIterator クラスの current()、key()、および next() メソッドを使用して、SPL 配列を走査できます。
$fruits = ['apple', 'orange', 'banana']; foreach ($fruits as $fruit) { echo $fruit . ' '; }
上記の例からわかるように、SPL 配列は次のことを行う必要があります。 foreach ループを直接使用する代わりに、SPL iterator を使用して反復することができます。
パフォーマンス一般に、通常の配列は可変サイズの要素リストの格納に適していますが、SPL 配列は固定サイズと高いパフォーマンスを必要とする要素リストに適しています。どの配列を使用するかは、開発者の特定のニーズによって異なります。
以上がphp配列とspl配列の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。