2011-09-22 11 views

答えて

5

これは、PHP配列がどのように機能するかを示しています。各キーと値のペアには序数があるため、挿入順序が記憶されます。あなたは簡単にそれを自分でテストすることができます。

http://ideone.com/sXfeI

+3

ああを知るのが大好きだが、あなたは、たとえば、*削除/再追加要素*大挙せずに別の要素の前に要素を挿入することができますか? –

+3

残念ながら、同様にするには、数値のインデックス配列を保持しなければならないので、 'array_splice'のような関数を使ってランダムオフセットを挿入することができます。また、辞書キーを使って要素にアクセスできるようにする必要がある場合は、dictキーをインデックス付き配列の対応する値にマップする、ある種のマッピング配列が必要になるでしょう。 –

3

私が正しくPythonのドキュメントで説明を理解していれば、[はい。 PHP配列は実際には順序付けされたマップのみです:

PHPの配列は実際には順序付けられたマップです。マップは、キーに値を関連付けるタイプです。このタイプは、いくつかの異なる用途に最適化されています。それは、配列、リスト(ベクトル)、ハッシュテーブル(マップの実装)、辞書、コレクション、スタック、キューなどとして扱われます。配列値は他の配列でもよいので、ツリーや多次元配列も可能です。

PHP Array docs

+0

すでに存在するキーを挿入するとどうなりますか?キーをそのまま残しているようですが、それは保証されていますか? http://ideone.com/iTVMW – Casebash

+1

これは、すでに入っているオフセットの値を置き換えます。 –

2

PHPの配列は、デフォルトでは、このように動作します。

$arr = array('one' => 1, 'two' => 2, 'three' => 3, 'four' => 4); 
var_dump($arr); // 1, 2, 3, 4 

unset($arr['three']); 
var_dump($arr); // 1, 2, 4 

$arr['five'] = 5; 
var_dump($arr); // 1, 2, 4, 5 
関連する問題