PHP Dizileri için Kullanışlı Fonksiyonlar

PHP Dizileri için Kullanışlı Fonksiyonlar

PHP dizileri ile çalışırken hayatınızı kolaylaştıracak bazı kullanışlı fonksiyonlar nelerdir? Bu yazıda öğreneceksiniz Dizilere dair merak ettiğiniz her şeyi keşfetmek için hemen tıklayın!

PHP Dizileri için Kullanışlı Fonksiyonlar

PHP'de diziler, verileri saklamak ve işlemek için sıklıkla kullanılır. Bu makale, PHP dizileri ile çalışırken kullanabileceğiniz bazı yararlı fonksiyonları ve bunları nasıl kullanacağınızı tanıtır.

1. count () Fonksiyonu: Dizideki eleman sayısını belirleyen ve geri döndüren bir PHP fonksiyonudur. Örneğin, $dizi = array("elma", "armut", "portakal"); şeklinde tanımlanmış bir dizi varsa, count($dizi) fonksiyonu 3 değerini verir.

2. array_push () Fonksiyonu: Bir diziye bir veya daha fazla öğe ekleyen bir PHP fonksiyonudur. Örneğin, $dizi = array("elma", "armut"); şeklinde tanımlanmış bir dizi varsa, array_push($dizi, "portakal", "muz"); fonksiyonu diziye "portakal" ve "muz" öğelerini ekler.

  • 2.1 array_unshift () Fonksiyonu: Bir diziye yeni bir öğe ekler ve diğer tüm öğeleri bir konum kaydırır.
  • 2.1.1 array_shift () Fonksiyonu: Bir diziden ilk öğeyi kaldırır ve dizinin tüm öğelerini yeniden indeksler.
  • 2.1.2 array_pop () Fonksiyonu: Bir diziden son öğeyi kaldırır.
  • 2.2 array_merge () Fonksiyonu: Bir veya daha fazla diziyi birleştirir ve sonunda yeni bir dizi döndürür.

3. array_search () Fonksiyonu: Bir öğenin dizi içindeki anahtarını veya anahtarlarını bulan bir PHP fonksiyonudur. Örneğin, $dizi = array("elma", "armut", "portakal"); şeklinde tanımlanmış bir dizi varsa, array_search("armut", $dizi); fonksiyonu 1 değerini verir.

4. array_key_exists () Fonksiyonu: Bir dizide belirtilen anahtarın var olup olmadığını kontrol eden bir PHP fonksiyonudur. Örneğin, $dizi = array("elma" => 1, "armut" => 2); şeklinde tanımlanmış bir dizi varsa, array_key_exists("elma", $dizi); fonksiyonu true değerini verir.

5. in_array () Fonksiyonu: Bir değerin belirtilen dizide bulunup bulunmadığını kontrol eden bir PHP fonksiyonudur. Örneğin, $dizi = array("elma", "armut", "portakal"); şeklinde tanımlanmış bir dizi varsa, in_array("armut", $dizi); fonksiyonu true değerini verir.


1. count () Fonksiyonu

PHP'nin en kullanışlı fonksiyonlarından biri olan count (), bir dizideki öğelerin sayısını belirler ve geri döndürür. Bu fonksiyon, özellikle büyük ve karmaşık dizilerle çalışırken çok faydalı olabilir.

count () fonksiyonu, bir dizi argümanı alır ve argüman olarak verilen dizinin öğe sayısını döndürür. Örneğin, aşağıdaki örnek dizi verilmiştir:

İsim Soyisim Yaş
Ahmet Yılmaz 25
Ayşe Demir 32
Ali Kara 45

Bu dizi, yukarıdaki tabloda verildiği gibi üç öğeye sahiptir. Dolayısıyla, count () fonksiyonu aşağıdaki şekilde kullanılabilir:

  • $dizi = array('Ahmet', 'Ayşe', 'Ali');
  • $eleman_sayisi = count($dizi);

Bu örnekte, 'count ($dizi)' komutu '3' değerini döndürür. Bu, verilen dizinin üç öğeye sahip olduğunu gösterir.

count () fonksiyonu, bir dizi olmadığı takdirde '0' değerini döndürür. Ayrıca, bu fonksiyon sadece dizideki doğrudan öğeleri sayar ve ilişkili anahtarları saymaz.


2. array_push () Fonksiyonu

PHP dizileri ile çalışırken, dizi elemanlarına öğe eklemek sık sık kullanılan bir işlemdir. Bu işlem, array_push() fonksiyonu kullanılarak kolaylıkla gerçekleştirilebilir. Bu fonksiyon, bir diziye bir veya daha fazla öğe eklemek için kullanılır. Örneğin, aşağıda array_push() fonksiyonunun kullanımı örneklenmiştir:

Dizi Öğeler
$dizi 'elma', 'armut'
array_push($dizi, 'muz', 'üzüm') 'elma', 'armut', 'muz', 'üzüm'

Yukarıdaki örnekte, array_push() fonksiyonu kullanılarak "$dizi" adlı dizideki "elma" ve "armut" öğelerine "muz" ve "üzüm" öğeleri eklenmiştir. Bu sayede, "$dizi" dizisi "elma", "armut", "muz" ve "üzüm" öğelerini içerecek şekilde güncellenmiştir.

Bununla birlikte, array_push() fonksiyonu, sadece yeni öğeleri dizi sonuna ekleyebilir. Eğer daha esnek bir işlem yapmak istenirse, array_unshift() fonksiyonu kullanılabilir. Bu fonksiyon, bir diziye yeni bir öğe ekler ve diğer tüm öğeleri bir konum kaydırır.

  • array_push() fonksiyonu kullanarak diziye öğe eklemek için aşağıdaki kod bloğunu kullanabilirsiniz:
  • array_push($dizi, $yeni_oge);
  • array_unshift() fonksiyonu kullanarak diziye öğe eklemek için aşağıdaki kod bloğunu kullanabilirsiniz:
  • array_unshift($dizi, $yeni_oge);

Her iki fonksiyon da diziye öğe eklemek için kullanılabilir. Hangisinin kullanılacağı, öğelerin nereye eklenmesi gerektiğine bağlı olarak değişebilir.


2.1 array_unshift () Fonksiyonu

PHP dizi işlemleri, birçok projede kullanılan önemli bir özelliktir. Diziler sürekli bir şekilde güncellenir, elemanları silinir veya eklendiği için bazı işlemleri hızlandırmak için kullanabileceğiniz bazı fonksiyonlar vardır.

array_unshift () fonksiyonu, bir diziye yeni bir öğe ekler ve diğer tüm öğeleri bir konum kaydırır. Bu işlev, veri yapısında bir kayma olması nedeniyle calışma mantığınıza uygunsa kullanmanız gerekebilir. Örneğin, veriler veritabanında belirli bir sıraya göre saklamak istiyoruz. İlk olarak, kullanıcıların sırayla eklediği bilgiler bir dizi olarak saklanabilir. Ancak, bu bilgiyi zaman ve tarih bakımından sırayla kaydetmek istiyorsanız, kullanıcının verdiği yeni verinin ilk sıraya yerleştirilmesi ve diğer tüm verilerin bir pozisyon kaydırılması gerekebilir. Bu durumda, array_unshift () fonksiyonunu kullanabilirsiniz. Böylece, yeni gelen öğe ilk konumuna eklenir ve diğer tüm öğeler ardından bir konum kaydırılır. Bu şekilde, belirli bir sıraya göre verileri tutabilirsiniz.

array_unshift () fonksiyonu, bellek kullanımını yönetmek açısından oldukça yararlıdır. Ancak, bu fonskiyon kullanıldığında, dizide bir pozisyon kaydırma işlemi gerçekleştiği için, sık sık güncellenen büyük boyutlu dizilerde performans sorunu oluşabilir. Özetle, bir dizinin başına eleman eklemek istiyorsanız ve elemanların bir konum kayması gerekiyorsa, array_unshift () fonksiyonunu tercih edebilirsiniz.


2.1.1 array_shift () Fonksiyonu

PHP programlama dili dizileri ile çalışırken, bir dizi içerisindeki öğeleri değiştirmek, kaldırmak veya eklemek sıkça kullanılan işlemlerdir. Array_shift() fonksiyonu, bir diziden ilk öğeyi kaldırmak için kullanılır. Bu fonksiyon, bir diziden elemanı kaldırdıktan sonra tüm diğer öğeleri bir pozisyon kaydırır ve her öğenin dizindeki indeksini yeniden düzenler.

Örneğin, aşağıdaki PHP kodu kullanılarak bir dizi oluşturabiliriz:

<?php$animals = array("kedi", "köpek", "inek", "tavşan");?>

Bu kod, dört hayvanın yer aldığı bir dizi oluşturur. Şimdi, array_shift() fonksiyonunu kullanarak bu diziden ilk hayvanı kaldıralım ve kalan hayvanların dizide dizindeki indeksleri değiştirelim:

<?php$hayvanlar = array("kedi", "köpek", "inek", "tavşan");echo "Original array: <br>";print_r($hayvanlar); //orijinal diziecho "<br>"; array_shift($hayvanlar); //ilk hayvanı kaldırın echo "New array after shifting elements: <br>";print_r($hayvanlar); //kaydırılan/yeniden düzenlenmiş diziecho "<br>";?>

Yukarıdaki kod, kedi öğesini kaldırır ve diğer öğeleri bir pozisyon kaydırır. Yeniden düzenlenmiş dizi aşağıdaki gibi görünecektir:

İndeks Hayvanlar
0 köpek
1 inek
2 tavşan

Bu fonksiyon aynı zamanda değişkeni döndürür, böylece kaldırılan öğeyi de başka bir değişkende saklayabiliriz.


2.1.2 array_pop () Fonksiyonu

Bir dizideki son öğeyi kaldırmak için kullanılabilen array_pop() fonksiyonu oldukça kullanışlıdır. Bu fonksiyon, bir diziye uygulandığında dizinin son elemanını kaldırır ve bunu geri döndürür. Bir dizi elemanlarının eklenmesi veya çıkarılması sırasında, dizi indeksleri otomatik olarak yeniden düzenlenir.

Bir diziye uygulanabilen diğer fonksiyonlar gibi, array_pop() fonksiyonu da istenilen diziye doğrudan uygulanabilir. Örneğin, aşağıdaki örnek gösterildiği gibi bir dizi oluşturabilirsiniz:

$dizi = array("elma", "armut", "çilek", "mandalina");

Ve sonra array_pop() fonksiyonunu kullanarak dizinin son elemanını çıkarabilirsiniz:

echo array_pop($dizi);

Bu örnekte, array_pop() fonksiyonu "mandalina" öğesini çıkarır ve geri döndürür. Bu nedenle, echo ifadesi "mandalina" yazacağından, array_pop() fonksiyonunun çıkardığı öğeyi yazdırmak istediğinizde, sonuç olarak "mandalina" yazar. Ayrıca, echo ifadesiyle birlikte array_pop() fonksiyonunu kullanarak, son öğeyi kaldırabilir ve geri kalan diziyi yazdırabilirsiniz.

array_pop() fonksiyonu, dizinin son öğesini kaldırmanın yanı sıra, dizinin boyutunu da değiştirir. Bu nedenle, bir diziden öğe çıkarırken dikkatli olunmalı ve sonrasında dizinin sağlam kaldığından emin olunmalıdır.


2.2 array_merge () Fonksiyonu

PHP programlama dili, dizilerle çalışmak için bir dizi kullanışlı fonksiyon sağlar. Bu fonksiyonlar, dizileri işleyerek onları daha yönetilebilir hale getirir. array_merge () fonksiyonu ise, bir veya daha fazla dizi oluşturarak bu dizilerin elemanlarını birleştirebilir ve yeni bir dizi oluşturabilirsiniz.

array_merge () fonksiyonun kullanımı oldukça kolaydır. Fonksiyon, iki veya daha fazla diziyi birleştirmek için kullanılır. Dizileri birleştirmeden önce, değişkenlerdeki değerleri belirlemek gereklidir. array_merge () fonksiyonu, birinci dizi olarak verilen diziyi alır ve diğer dizileri sırayla birleştirir. Sonuç olarak, bir dizide elemanlarınız birleştirilmiş olur.

Birleştirme işlemi sonucunda oluşan dizi, her bir dizideki anahtarları alır ve yeni bir dizi anahtarları oluşturur. array_merge () fonksiyonu ile dizi birleştirirken, dizi elemanları sırayla bir araya gelir. Yani, önce ilk dizi elemanları birleştirilir, sonra ikinci dizi elemanları, üçüncü dizi elemanları gibi sırayla devam eder.

array_merge () fonksiyonu, birleştirme işlemi sonucunda yeni bir dizi döndürür. Bu yeni dizi, birleştirilen dizilerin tüm öğelerini içerir. Bununla birlikte, çakışan anahtarların çakışması durumunda, son gösterilen anahtar değerini yansıtan dizi oluşturulur.

array_merge () fonksiyonu kullanılırken, normal olarak ilave edilen dizilerin anahtarları korunur. Bu da, dizi elemanlarını toplarken, yenilerinin var olan dizileri üzerine yazmadığı anlamına gelir. Diğer bir deyişle, array_merge () fonksiyonu, verilen dizileri birbirine ekler ve sonucunda yeni bir dizi oluşturur.

Özetlemek gerekirse, array_merge () fonksiyonu, daha fazla dizi birleştirerek bir dizi oluşturabilir. Birleştirdikten sonra anahtarlar ve değerler bir araya getirilir ve yeni bir dizi oluşturulur. Bu nedenle, array_merge () fonksiyonu, farklı dizilerdeki verileri birleştirmenin etkili bir yoludur ve PHP kodunuzun gücünü artırır.


3. array_search () Fonksiyonu

Bir öğenin dizi içindeki anahtarını veya anahtarlarını bulan bir PHP fonksiyonu olan array_search(), taranacak olan diziyi ilk argüman olarak alır ve aranacak olan öğenin değerini ikinci argüman olarak alır. Eğer aranan öğe bulunursa, onun anahtar değerini döndürür.

Bu fonksiyon ayrıca, ikinci bir seçenek olarak üçüncü bir argüman olarak 'True' anahtar kelimesini alabilir. Bu seçenek kullanıldığı takdirde, aranan öğe dizi içinde bulunursa, bu öğenin anahtarının yanı sıra tüm diğer anahtarların bulunduğu bir dizi de geri döndürülür.

Örneğin, bir dizi içinde 'elma' öğesini aramak istediğimizi varsayalım:

Dizi Sonuç
$mevsimler = [ 'yaz','sonbahar', 'kış', 'ilkbahar' ] False
$meyveler = [ 'portakal', 'elma', 'muz', 'çilek' ] 1
$renkler = [ 'kırmızı', 'mavi', 'yeşil', 'mor' ] False

Bu örnekte, $meyveler dizisinde aranan 'elma' öğesi, 1 olarak bulunurken, diğer iki dizide bulunamaz.

Array_search() fonksiyonunun diğer PHP dizisi fonksiyonlarından farkı, dizi içindeki bir öğenin varlığını kontrol etmek yerine, verilen değer için anahtarları aramasıdır.

Array_search() fonksiyonu, bir dizi içinde öğe aramak istediğimiz zaman oldukça faydalıdır. Bu sayede, hangi anahtarın öğeye ait olduğunu kolayca bulabiliriz.


4. array_key_exists () Fonksiyonu

PHP'de, belirli bir anahtarın bir dizide olup olmadığını kontrol etmek için array_key_exists () fonksiyonu kullanılabilir. Bu fonksiyon, iki parametre kabul eder: dizinin anahtarları ve aranacak anahtar. Bu fonksiyon, belirtilen anahtar, dizinin anahtarları arasında mevcut ise true, aksi takdirde false değerini döndürür.

Bu fonksiyon, bazı durumlarda çok kullanışlıdır. Örneğin, bir kullanıcının formda gerekli tüm alanları doldurup doldurmadığını kontrol etmek istediğimizi varsayalım. Form verileri, bir dizi olarak toplanabilir ve her alanın adı bir dizi anahtarı olarak kullanılabilir. Ardından, tüm gerekli alanların doldurulduğunu kontrol etmek için, bu fonksiyon kullanılabilir.

Öncelikle, form verileri bir dizi oluşturularak her alanın adı dizi anahtarı olarak belirtilir:

$form_data = array("ad" => "John", "soyad" => "Doe", "email" => "john@example.com")

Ardından, belirli bir anahtarın varlığını kontrol etmek için array_key_exists () fonksiyonu kullanılabilir:

  • if (array_key_exists("ad", $form_data)): Bu satır, ad anahtarının $form_data dizisinde var olup olmadığını kontrol eder.

Bu şekilde, gerekli tüm alanların doldurulup doldurulmadığını kontrol edebiliriz ve gerektiğinde kullanıcıya bir hata mesajı gösterebiliriz.

Not: Bu fonksiyon, dizinin içinde boş bir değer olsa bile anahtarın olup olmadığını kontrol eder. Bu nedenle, anahtarın boş bir değer içermesinden şüpheleniyorsanız, isset () fonksiyonunu kullanmak daha uygun olabilir.


5. in_array () Fonksiyonu

PHP dizileri ile çalışırken en çok karşılaşılan sorun, bir değerin belirli bir duyarlılıkta dizide olup olmadığını kontrol etmek ve buna göre işlem yapmaktır. İşte burada `in_array()` fonksiyonu devreye girer. Bu PHP fonksiyonu, bir değerin belirtilen dizide bulunup bulunmadığını kontrol eder ve true/false şeklinde bir değer döndürür.

Bu fonksiyon, belirtilen değerin anahtar ve değerini kontrol edebilir. İki adet zorunlu parametre alır. İlk parametre, kontrol edilecek değerdir ve ikinci parametre, kontrol edilecek dizidir. Opsiyonel olarak, `true/false` şeklinde bir üçüncü parametre daha alabilir. Bu parametre, kontrol esnasında duyarlılık (case-sensitivity) sağlar. Eğer `true` olarak belirlenirse, büyük küçük harf duyarlılığı işlemlerde dikkate alınacak, yoksa `false` olarak belirlenirse büyük küçük harf duyarlılığı dikkate alınmayacaktır.

Deger Dizi Sonuc
"Elma" ["elma", "armut", "kiraz"] false
"armut" ["elma", "armut", "kiraz"] true

Yukarıda verilen örnekte, ilk satırda "Elma" stringi, ikinci sırada dizinin içindeki değerlerden hiçbirine eşit olmadığı için false sonucu döndürülecektir. Ancak ikinci satırda "armut" stringi, dizinin ikinci elemanına `true` sonucunu döndürecektir. Bu sayede ihtiyacınız olan aksiyonu alabilir veya programınızı buna göre şekillendirebilirsiniz.