Ben sık sık virgül, boşluk veya noktalama ayrılmış öğeleri listesi gerekir adresleri (! Bu bir adres için overkill olduğunu ve bir örnek uğruna) klasik bir örneğidir:
echo "L$level, $unit/$num $street, $suburb, $state $postcode, $country.";
//ouput: L2, 1/123 Cool St, Funky Town, ABC 2000, Australia.
Göründüğü kadar basit, "şartlı" değişkeni varsa yalnızca değişkenler arasındaki özel ayırıcılar eklemek için kolay bir yol var mı? Her değişken ayarlanmış olup olmadığını kontrol etmek gerekli midir? Az detaylar Yani yukarıdaki kullanarak, başka bir adres olabilir çıkış gibi bir şey:
//L, / Cool St, , ABC , .
Kontrol bir biraz zorlu yolu her değişken ayarlanmış olup olmadığını görmek ve noktalama görüntülemek için olacaktır.
if($level){ echo "L$level, "; }
if($unit){ echo "$unit"; }
if($unit && $street){ echo "/"; }
if($street){ echo "$street, "; }
if($suburb){ echo "$suburb, "; }
//etc...
Bu otomatik olarak tüm sıyırma / formatlama vb yapabileceği bir işlevi olması iyi olurdu:
somefunction("$unit/$num $street, $suburb, $state $postcode, $country.");
Başka bir örnek, basit bir csv listesi. Ben virgülle ayırarak çıkışı x öğeleri istiyorum:
for($i=0; $i=<5; $i++;){ echo "$i,"; }
//output: 1,2,3,4,5,
Örneğin bir döngü içinde, bir dizi ya da döngü durumun son öğeyi belirlemenin en iyi yolu nedir listenin sonunda bir virgül değil bir araya geldi? Ben okudum bu etrafında uzun bir yol gibi ilk giriş şeyin dışında bir virgül before bir öğe koymak için:
$firstItem = true; //first item shouldn't have comma
for($i=0; $i=<5; $i++;){
if(!$firstItem){ echo ","; }
echo "$i";
$firstItem = false;
}