2013-05-31 19 views
5

Tôi có một mảng mà tôi tạo ra bởi giá trị trong một cơ sở dữ liệu, ví dụ là dưới đây:PHP mảng và nổ tung với các giá trị trống/null

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

Các giá trị được nhập vào bởi người sử dụng sử dụng một từ, ở trên các công trình mảng và các giá trị chính xác được đặt vào nó, tuy nhiên đôi khi người dùng không thể nhập vào hạt khách hàng, do đó, do đó

$results['client']->client_county 

có thể để trống. Tôi gọi mảng với điều này.

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

Bây giờ đây là phần mà tôi nghĩ rằng cần phải sửa chữa, rõ ràng là nếu tất cả các lĩnh vực có giá trị sau đó chúng được hiển thị với ngắt dòng, nhưng nếu như tôi đã đề cập ở trên quận là trống nó sẽ stll ra một dòng phá vỡ, do đó bạn sẽ nhận được:

city 

postcode 

nhưng những gì tôi muốn là

city 
postcode 

tôi đoán

\n 

là vấn đề nhưng sáng ở chỗ trống. bất kỳ trợ giúp nào được đánh giá cao.

Ian

Trả lời

15

Tôi nghĩ rằng bạn có thể sử dụng array_filter để mảng của bạn trước khi sử dụng chức năng implode()

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

bạn sẽ không cần một cuộc gọi trở lại cho array_filter để kiểm tra nếu giá trị là trống rỗng? hoặc không array_filter làm điều đó theo mặc định? – TheSnooker

+1

@TheSnookier 'Nếu không có gọi lại được cung cấp, tất cả các mục nhập của đầu vào bằng FALSE (xem chuyển đổi sang boolean) sẽ bị xóa.' – Fabio

+0

Bạn Gắn dấu sao, Cảm ơn – snookian

3

cố gắng sử dụng array_filter() trên $adressesarray, nó lọc các giá trị rỗng. Để biết thêm array_filter()

Các vấn đề liên quan