2013-05-31 24 views
5

boş/boş değerler ile çöker, örneğin aşağıdaki gibidir: PHP dizi ve bir veritabanında değerleri tarafından üretilen bir dizi var

$addressarray = array($results['client']->client_city, $results['client']->client_county, $results['client']->client_postcode); 

değerleri

bir, yukarıdaki kullanarak, kullanıcı tarafından girilen dizi işleri ve doğru değerler ancak bazen kullanıcı istemcileri ilçe giremezler, onun içine yerleştirilir, bu nedenle

$results['client']->client_county 

boş olabilir. Diziyi bununla diyorum.

$address = implode("\n ", $addressarray); 

Şimdi bu ı tüm alanları o zaman satır sonları ile görüntülenir değerini içeriyorsa ihtiyaç açıkçası, sabitleme düşünüyorum parçasıdır, ama ilçenin yukarıda bahsedilen gibi eğer stll çıktı bir çizgi olacak boştur

city 

postcode 

ama ne istediğim

city 
postcode 

Ben

tahmin geçerli: böylece kırmak alırsınız
\n 

sorunu var, ancak boştayım. herhangi bir yardım takdir edildi. $adressesarray üzerinde array_filter() kullanmak

Ian

cevap

15

için

$address = implode("\n", array_filter($addressarray)); 
+0

Eğer değer boş olup olmadığını kontrol etmek geri array_filter çağrısı gerekmez ki? veya array_filter bunu varsayılan olarak yapar mı? – TheSnooker

+1

@ TheSnookier 'Geri arama yapılmazsa, FALSE öğesine eşit olan tüm girdiler (bkz. Boolean'a dönüştürme) kaldırılır. ' – Fabio

+0

Siz Star, Teşekkür ederim – snookian

3

denemeydi boş değerleri filtreler. Sana kullanım implode() işlevi önce diziye array_filter kullanabilirsiniz düşünmek daha array_filter()