PHP中的list()函式入門

五嶽之巔發表於2009-10-09
其實,PHP裡List()並不是函式,而是和foreach、while、if一樣的語言結構。
list()函式僅能用於數字索引的陣列,且假定數字索引是從0開始。
看例子:
NO1:
<?php
 
 $book = array(`linux伺服器配置與管理`,`PHP程式設計`);
  
 list( $key,$value ) = $book;
 echo $key.`=>`.$value.`
`;
 
 list( $first,$second ) = each($book);
 echo $first.`=>`.$second.`
`;
?>
輸出為:
linux伺服器配置與管理=>PHP程式設計
0=>linux伺服器配置與管理
再看,
<?php
 
 $book = array(`linux伺服器配置與管理`,`PHP程式設計`);
  
 list( $key,$value ) = each($book);
 echo $key.`=>`.$value.`
`;
 
 list( $first,$second ) = each($book);
 echo $first.`=>`.$second.`
`;
?>
輸出為:
0=>linux伺服器配置與管理
1=>PHP程式設計

 
說明,list()是一個賦值結構,負責把右值分別付給它的各個引數,如$key、$value等。each()是返回陣列資訊,返回的第一個引數是鍵值,第二個引數是具體元素,然後陣列中的指標自動向後指一下。可見,each()是把刀,專門把一個大面包(整個一個陣列$book)切成一個個小片($book[0]、$book[1]),再給list()這個客戶嘴邊,這時就看怎麼給了,用each()切後的都是小片(單個元素,即為鍵值和值的統一體),不用each()直接給的話,就不分小片,而是一口一口嚼了(每口都吃的是具體的內容),O(∩_∩)O哈哈~
 
NO2:
常用模式是:
<?php
 
 $book = array(`linux伺服器配置與管理`,`PHP程式設計`);
  
 while(list( $key,$value ) = each($book))
 echo $key.`=>`.$value;
?>
輸出為:
0=>linux伺服器配置與管理
1=>PHP程式設計


相關文章