2012-05-15 50 views
1

在Java案例#1:尋找Java的Map和List的PHP等價物?

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是關於這些情況?

回答

2

在PHP中,arrays充當全部類型的容器。它們可以用作地圖,列表和集合。

鏈表功能是通過reset/prev/current/next/end功能提供;請查看文檔的「另請參閱」部分以確保您不會錯過任何文檔。

對於地圖功能,您只需直接將數組索引到數組中;但請記住,在PHP中的數組鍵可以是只有是字符串或整數,而且大多數情況下,混合使用同一個數組並不是正確的做法(儘管沒有技術原因,並且在那裏是有意義的情況)。

SPL提供SplDoublyLinkedList類,但沒有任何內容是簡單的數組不會給你帶來的。

0

即使array是在PHP中最常用的類型,你應該如果使用的PHP 5

隨着SPL看看到SPL你有:

  • 隊列
  • 鏈表
  • 等等...

Manual

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"; 

然後,要經過要素的列表中,您可以使用foreachreset/prev/current/next/end功能集。

如果使用PHP5,您還可以查看SPL數據結構。