PHP dizilerinde elemanlar üzerinde çalışmak için kullanılan fonksiyonlar hakkında bilgi edinin Dizilerdeki verileri sıralama, arama, değiştirme ve daha fazlasını yapmak için fonksiyonlar kullanabilirsiniz Detaylar için okumaya devam edin
PHP, web geliştirme için en çok kullanılan programlama dillerinden biridir. Bu dilde, çeşitli programlama işlemleri için birçok fonksiyon yer almaktadır. Bu fonksiyonlardan biri olan diziler üzerinde işlem yapma fonksiyonları , diziler içindeki öğeleri filtreleyebilir, sıralayabilir, sayısını bulabilir veya öğeleri bir araya getirebilir. Bu makalede, bir dizi içinde bulunan öğeler üzerinde işlem yapmak için kullanışlı olan bazı PHP fonksiyonlarına bakacağız.
array_map() fonksiyonu, bir dizinin tüm öğelerine uygulanan bir işleve dayanan ve dizideki her öğe için bir sonuç dizisi döndüren bir fonksiyondur. Bu fonksiyon, bir dizideki tüm öğeleri aynı anda dönüştürmek için çok kullanışlıdır.
Bir başka kullanışlı fonksiyon ise array_filter(). Bu işlev, bir dizi içinde belirli koşulları sağlamayan öğelerin filtrelenmesine izin verir. Örneğin, bir dizi içinde belirli koşulları karşılamayan öğeleri kaldırabilirsiniz.
Fonksiyon | İşlevi |
---|---|
sort() | Bir dizi içindeki öğeleri sıralamak için kullanılır |
krsort() | Anahtarlarına göre ters sıralama yapar |
asort() | Anahtar değil de, değerlere göre bir dizi sıralaması yapar |
Bunun yanında, belirli bir dizi içindeki öğelerin sayısını bulmak istiyorsanız, count() fonksiyonunu kullanabilirsiniz. Bu fonksiyon, bir dizi içindeki tüm öğelerin sayısını kolaylıkla sayabilir.
Bir dizi öğelerini tek bir dize olarak birleştirmek istiyorsanız, implode() fonksiyonu kullanılabilir. Ayrıca, bir dizeyi belirlenen bir ayraç karakterine göre bölmek ve bir dizi olarak döndürmek istiyorsanız, explode() fonksiyonu kullanılabilir.
Son olarak, bir dizi içindeki yinelenen öğeleri silmek için array_unique() fonksiyonunu kullanabilirsiniz. Ayrıca, bir dizinin belirli bir anahtarı içerip içermediğini kontrol etmek için array_key_exists() fonksiyonunu veya bir dizide belirli bir öğe olup olmadığını kontrol etmek için in_array() fonksiyonunu kullanabilirsiniz.
array_map()
PHP'de, bir dizi üzerinde işlem yapmamız gerektiğinde, aynı işlemi tüm elemanlara uygulamak zorunda kalırız. İşte burada array_map() işlevi devreye girer. Bu işlev, bir diziye uygulanan işlem sonucunu başka bir dizi olarak döndürür.
Böylece, tek tek tüm elemanlar üzerinde işlem yapmak yerine, array_map() işlevi kullanılarak tüm elemanlara aynı işlem uygulanarak sonuçlar yeni bir dizi olarak toplanabilir. Örneğin, bir dizi içindeki tüm sayıların karelerinin alınması işlemi için array_map() işlevi oldukça kullanışlıdır.
Dizi | Sonuç |
---|---|
[2, 4, 6] | [4, 16, 36] |
Yukarıdaki örnekte, array_map() işlevi kullanılarak, "x^2" işlemi tüm dizideki elemanlara uygulanmış ve sonuçlar yeni bir dizi olarak döndürülmüştür.
Bununla birlikte, array_map() işlevi otomatik olarak döndürülen yeni dizinin boyutunu, girdi olarak aldığı dizinin boyutuna göre belirler. Yani, eğer girdi olarak aldığı dizilerin boyutları eşit değilse, en küçük dizinin boyutuna göre sonuç dizisi oluşturulur.
array_filter()
array_filter() işlevi, bir dizi içinde belirli koşulları sağlamayan öğeleri çıkarmak için kullanılır. Bu işlev, koşulların sağlandığı öğeleri filtreler ve sadece belirli koşulları karşılamayan öğeleri geri döndürür.
Mesela, bir dizi içinde sadece belirli bir kriteri sağlayan öğeleri listelemek isteyebilirsiniz. array_filter() işlevi tam da bu işi yapar. Örneğin, bir dizi içinde sadece çift sayıları listelemek için şöyle bir kod bloğu kullanabilirsiniz:
Kod | Açıklama |
---|---|
$numbers = array(1, 2, 3, 4, 5, 6); $even_numbers = array_filter($numbers, function($n){ return ($n % 2 == 0); }); print_r($even_numbers); | Öncelikle, bir sayılar dizisi oluşturuyoruz. Daha sonra, array_filter() işlevini kullanarak bu diziden sadece çift sayıları elde ediyoruz ve sonuçları yazdırıyoruz. Burada, anonim bir işlev kullanarak çift sayıları belirliyoruz. |
Bu örnekte, array_filter() işlevi ile sadece çift sayılı öğeleri filtreledik ve sonucu array(2,4,6) olarak elde ettik. Bu sayede, dizi içinde sadece istediğimiz öğeleri kolayca filtreleyebiliriz.
Array_filter() işlevi, bir diziden belirli koşullara uymayan öğeleri çıkarmak için son derece kullanışlı bir araçtır.
sort()
PHP dizilerindeki elemanları sıralamada görevli olan sort() işlevi, dizi öğelerini alfabetik olarak veya sayısal değerlerine göre sıralar. Bu işlev, özellikle büyük veri tabanlarında veya liste formatları üzerinde verimli bir kullanım sağlar.
Sort() işlevi, dizi içerisindeki öğeleri doğrudan yerlerinde değiştirir. Bu nedenle, sıralama işlemi sonrası öğelerin dizilimleri tamamen değişebilir. Diğer bir deyişle, sıralanmış öğeler, önceki halindeki sıralamalarının hiçbir şekilde garantisi yoktur. Bu özelliği ile, sort() işlevi özellikle, anahtarlarına göre sıralama yapmak için krsort() işlevi ile birlikte sıkça tercih edilir.
Ayrıca, sort() işlevi ile birlikte sıklıkla kullanılan bir başka yöntem de asort() işlevinin kullanımıdır. Asort() işlevi, anahtarları değil de, değerleri üzerinde sıralama yapmak için kullanılır. Bu sayede, özellikle çoklu veriler arasında gezinirken, istenmeyen karışıklıkların önüne geçilir.
Sonuç olarak, sort() işlevi, PHP dizilerindeki öğeleri sıralamak için sıklıkla kullanılan bir fonksiyondur. Doğrudan dizi üzerinde işlem yaparak, verimli bir kullanım olanağı sunar. Ancak, öğelerin önceki sıralamalarının kaybedilmesi, işlevin doğru kullanımı açısından önemli bir husustur.
krsort()
PHP dizilerinde sıralama yaparken anahtarlarının da sırasını değiştirmek istiyorsanız, krsort() işlevini kullanabilirsiniz. Bu işlev, anahtarlarına göre ters sıralama yapar ve dizinin değiştirilmiş haliyle birlikte yeni bir dizi döndürür. Aşağıdaki örnek işlevi kullanarak, bir dizi içindeki anahtarlarına göre ters sıralama yapabilirsiniz:
$dizi = array( "meyve" => "elma", "sebze" => "havuç", "balık" => "somon");krsort($dizi);echo "
- ";foreach ($dizi as $key => $val) { echo "
- " . $key . " = " . $val . " ";}echo "
Bu örnekte, krsort() işlevi anahtarlarına göre ters sıralama yapar ve sonuç, meyve, sebze ve balığın ters sıralanmış olduğu bir dizi olarak görüntülenir.