在 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 是怎么回事?
在 PHP 中,数组充当所有类型的容器。它们可以用作地图、列表和集合。
链表功能是通过////函数提供的reset
;查看文档的“另请参阅”部分,以确保您不会错过任何一个。prev
current
next
end
对于地图功能,您只需直接索引到数组;但请记住,PHP 中的数组键只能是字符串或整数,而且大多数时候将两者混合在同一个数组中是不正确的做法(尽管没有技术上的理由不这样做,而且有些情况有意义的地方)。
SPL 提供了SplDoublyLinkedList
类,但其中没有什么是简单数组也不能提供给您的。
通常你会在这两种情况下使用数组:
在 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数据结构。