1

Javaの場合#1:

Map m1 = new LinkedHashMap();
List l1 = new LinkedList();
m1.put("key1","val1");
m1.put("key2","val2");
l1.add(m1);

Javaの場合#2

List l1 = new LinkedList();
l1.add("val1");
l1.add("val2");
l1.add("val3");

これらの場合のPHPはどうですか?

4

3 に答える 3

2

PHPでは、配列はすべてのタイプのコンテナーとして機能します。マップ、リスト、セットとして使用できます。

リンクリスト機能は、reset/ prev///関数を介して提供されます。ドキュメントの「関連項目」セクションを見て、それらのいずれかを見逃していないことを確認してください。currentnextend

マップ機能の場合は、配列に直接インデックスを付けるだけです。ただし、PHPの配列キーは文字列または整数のみである可能性があり、ほとんどの場合、同じ配列で両方を混合することは正しいことではないことに注意してください(ただし、技術的な理由はなく、場合によってはそれが理にかなっているところ)。

SPLはSplDoublyLinkedListクラスを提供しますが、単純な配列でも提供されないものはありません。

于 2012-05-15T09:39:09.877 に答える
1

通常、両方の場合に配列を使用します。

PHPの場合#1:

$m1 = array();
$l1 = array();
$m1['key1'] = 'val1';
$m1['key2'] = 'val2';
$l1[] = $m1;

PHPの場合#2

$l1 = array();
$l1[] = "val1";
$l1[] = "val2";
$l1[] = "val3";

次に、リストの要素を調べるために、関数のセットを使用foreachできます。reset/prev/current/next/end

PHP5を使用している場合は、SPLデータ構造も確認できます。

于 2012-05-15T09:41:32.643 に答える
0

PHPで最も使用されているタイプであってもarray、PHP 5を使用している場合は、SPLを確認する必要があります。

SPLを使用すると、次のようになります。

  • スタック
  • リンクリスト
  • 等々...

マニュアル

于 2012-05-15T09:40:54.763 に答える