Burdaki bilgileri biraz kendim biraz chatgpt biraz php net'ten derledim.
Mesela mail link alıyoruz ama seflink yapısında en son hane mail, ancak yorumlar, taslaklar, okunanlar derken en son hane hangisi bilinmiyor ve aradaki diğer linklerde alınması gerek böylece hangi linkten mail yollama sayfasına geldiğimizi görebiliriz.
array_filter
$t_tip_mail_link = 'iletisim/'.implode('/', array_filter([$sef4, $sef5, $sef6]));function filtrele($eleman) {
// Elemanlar içinde sadece çift sayıları filtrele
return ($eleman % 2 == 0);
}
$dizi = [1, 2, 3, 4, 5, 6];
$filtrelenmis_dizi = array_filter($dizi, "filtrele");
print_r($filtrelenmis_dizi);Bu örnekte, filtrele() adlı bir fonksiyon tanımlanmıştır. Bu fonksiyon, elemanın değerini alır ve eğer bu değer çift sayı ise true, değilse false döndürür. array_filter() fonksiyonu, diziyi filtrele() fonksiyonuna geçirir ve bu fonksiyonun döndürdüğü true değerlerle diziyi filtreler. Bu durumda, çıktı olarak [2, 4, 6] elde edilir.
// Sadece anahtarları işlevinize gönderir
array_filter($dizi, 'my_function', ARRAY_FILTER_USE_KEY);
// Hem anahtarları hem de değerleri işlevinize gönderir
array_filter($dizi, 'my_function', ARRAY_FILTER_USE_BOTH);
// Sadece değerleri işlevinize gönderir (bu varsayılan davranıştır)
array_filter($dizi, 'my_function');
------------------------
// Orijinal diziyi tanımla
$dizi = array(
'a' => 'elma',
'b' => 'armut',
'c' => 'kiraz',
'd' => 'muz',
);
// Anahtarlarına göre sıralı bir dizi kullan
$sirali_dizi = array(
'b' => 2,
'c' => 3,
'a' => 1,
'd' => 4,
);
// array_filter kullanarak orijinal dizideki elemanları filtrele
$filtrelenmis_dizi = array_filter($dizi, function($eleman) {
return $eleman != 'armut';
});
// Filtrelenmiş diziyi yazdır
print_r($filtrelenmis_dizi);Array
(
[a] => elma
[c] => kiraz
[d] => muz
)--------------------
Mesela c boşsa
// Orijinal diziyi tanımla
$dizi = array(
'a' => 'elma',
'b' => 'armut',
'c' => '',
'd' => 'muz',
);
// array_filter kullanarak orijinal dizideki elemanları filtrele
$filtrelenmis_dizi = array_filter($dizi);
// Filtrelenmiş diziyi yazdır
print_r($filtrelenmis_dizi);Array
(
[a] => elma
[b] => armut
[d] => muz
)------------------------
array_values() işlevi, bir dizideki tüm değerleri alarak yeni bir diziyi oluşturur ve bu değerleri sıfırdan başlayarak indisler. Yani, bu işlev orijinal dizinin anahtarlarını kaldırır ve sadece değerleri korur, bu değerleri indislerle sıralar.
// Orijinal diziyi tanımla
$dizi = array(
'a' => 'elma',
'b' => '',
'c' => 'kiraz',
'd' => 'muz',
);
// array_filter kullanarak orijinal dizideki elemanları filtrele
$filtrelenmis_dizi = array_filter($dizi);
// Filtrelenmiş diziyi indekslenmiş bir diziye dönüştür
$filtrelenmis_dizi_indekslenmis = array_values($filtrelenmis_dizi);
// Filtrelenmiş indekslenmiş diziyi yazdır
print_r($filtrelenmis_dizi_indekslenmis);Array
(
[0] => elma
[1] => kiraz
[2] => muz
)Böyle yöntemleri sürekli çalışmak lazım normalde herşeyi ezbere bilmek değil amaç ama gerektiğin de aklımıza gelecek olması önemli