v2.5.2
Giriş yap

implode kullanımı hakkında soru

yeni2021
453 defa görüntülendi

merhaba,
yazılar tablosundan aynı id kriterini göre verileri virgül ile birleştirmek gerekiyor.
başlık, yazar1, eğer NULL değilse yazar2, tarih
bunları dizi içine atıp nasıl tek satırda php sayfadaki tabloya listeleyebilirim?
pdo,php7.4 kullanıyorum,
implode ile yapılıyor sanırım ama yapamadım, eğer null değilse yazar2 nasıl dizi içine atılır bilemedim.
Bu konuda yardımcı olursanız sevinirim.

Cevap yaz
Cevaplar (6)
makifgokce
1071 gün önce
function isNullOrEmpty($var){
    return ($var !== NULL && $var !== "");
}
$array = ['baslik', 'yazar1', null, '2021-05-22 17:19:00'];
$result = array_filter($array, "isNullOrEmpty");

echo implode(',', $result); // baslik,yazar1,2021-05-22 17:19:00

makifgokce
1071 gün önce

array_filter() fonksiyonu array içerisindeki tüm elemanları isNullOrEmpty() fonksiyonundan geçiriyoruz.
array_filter() fonksiyonundan geçirdikten sonra array içerisinde null veya empty olan değerler kalmıyor.
yani dbden gelen örnek olarak veri bu şekildeyse ['baslik', 'yazar1', null, '2021-05-22 17:19:00'] bunun içerisindeki null olan yerlerikaldırıyor.

yeni2021
1071 gün önce

fonksiyonu aynen yazdığınız gibi de ekledim, olmadı global function olarak fonksiyonları tuutuğum php sayfasına da taşıdım olmadı.
Ayrıca yazar2 nin null testini de anlamadım :(

makifgokce
1071 gün önce

isNullOrEmpty() fonksiyonu duruyor değilmi?
birde fonksiyonun işlemden önce tanımlandığına dikkat et

yeni2021
1071 gün önce

Hata verdi:
Warning: array_filter() expects parameter 2 to be a valid callback, function 'isNullOrEmpty' not found or invalid function name in C:\xampp...
Warning: implode(): Invalid arguments passed in C:\xampp...

yeni2021
1071 gün önce

teşekkürler @makifgokce