我經常需要列出以逗號,空格或標點符號分隔的項目,地址是一個典型示例(這對於地址來說是矯枉過正的,並且是爲了舉例!):將條件格式和標點符號添加到一組變量中
echo "L$level, $unit/$num $street, $suburb, $state $postcode, $country.";
//ouput: L2, 1/123 Cool St, Funky Town, ABC 2000, Australia.
至於因爲它的聲音,有一種簡單的方法來「有條件」僅添加如果變量存在變量之間的自定義分隔符簡單嗎?是否有必要檢查每個變量是否設置?因此,使用上述的,具有較少細節另一個地址可以輸出這樣的:檢查的
//L,/Cool St, , ABC , .
稍微艱鉅的方法是,以查看是否每個變量被設置並顯示標點符號。
if($level){ echo "L$level, "; }
if($unit){ echo "$unit"; }
if($unit && $street){ echo "/"; }
if($street){ echo "$street, "; }
if($suburb){ echo "$suburb, "; }
//etc...
這將是很好的有一個功能,可以自動執行所有剝離/格式化等:
somefunction("$unit/$num $street, $suburb, $state $postcode, $country.");
另一個例子是一個簡單的CSV列表。我想用逗號分隔輸出x項目:
for($i=0; $i=<5; $i++;){ echo "$i,"; }
//output: 1,2,3,4,5,
在例如環,什麼是滿足確定一個數組或循環條件的最後一個項目的最好辦法不包括在結束一個逗號列表?解決這個我讀過的一個很長的路就是把一個逗號之前的項目,除第一項是這樣的:
$firstItem = true; //first item shouldn't have comma
for($i=0; $i=<5; $i++;){
if(!$firstItem){ echo ","; }
echo "$i";
$firstItem = false;
}
不會解決問題。 – Tobias 2009-04-15 13:57:42
像我一樣(見下文,#3)。不幸的是,這使得它不那麼優雅。 – stefs 2009-04-15 16:31:35