Foreach Döngüsü ile Dizi İşlemleri

Foreach Döngüsü ile Dizi İşlemleri

Foreach döngüsü, PHP'de dizi işlemlerinde sıkça kullanılan bir yapıdır Bu makalede, foreach döngüsü ve dizi işlemleri nasıl kullanılır, örneklerle anlatılmaktadır Öğrenmek ve pratik yapmak için okumaya devam edin!

 Foreach Döngüsü ile Dizi İşlemleri

Merhaba, bu yazımızda PHP'deki foreach döngüsü yardımı ile diziler üzerinde yapabileceğimiz işlemleri öğreneceğiz. Foreach döngüsü, diziler üzerinde döngü işlemlerini kolaylaştıran bir yapıdır. Bu yapı sayesinde diziler üzerinde işlemler yapmak oldukça kolay hale gelmektedir. Bu yazıda özellikle dizilere yeni değer eklemek, mevcut değerleri silmek ve diziler üzerinde arama yapmak konularına odaklanacağız.


Foreach Döngüsü Nedir?

Foreach döngüsü, PHP'de kullanılan bir döngü yapısıdır. Özellikle diziler üzerinde işlem yaparken oldukça kullanışlıdır. Dizi içerisindeki elemanları tek tek işlem yaparak, foreach döngüsü sayesinde kolaylıkla erişebiliriz. Bu işlem diziler için oldukça önemlidir ve sık sık kullanılır.

Foreach döngüsü, dilimizde 'her bir eleman için' anlamına gelir. Yani her eleman için belirlenen işlemin yapılması demektir. foreach döngüsü kullanırken dizi içerisinde bulunan her bir eleman, sırayla amaç için belirtilen işleme tabi tutulur ve sonuçta işlemlerin tamamı tamamlanmış olur. Bu sayede dizi üzerinde olan işlemler kolaylıkla yapılabilir.


Dizilerde Değer Ekleme ve Silme İşlemleri

Dizilere yeni bir değer eklemek veya mevcut bir değeri silmek, programlama dillerinde oldukça önemli bir işlem olarak karşımıza çıkar. PHP'de de dizilerde bu işlemleri yapmak oldukça kolaydır. Bunun için kullanabileceğimiz yöntemleri öğrenerek işlemlerimizi daha kolay ve hızlı bir şekilde yapabiliriz. İlk olarak, yeni bir değer eklemek için kullanabileceğimiz yöntemlere değineceğiz.

  • array_push() Fonksiyonu: Bu fonksiyon, dizinin sonuna yeni bir değer eklemek için kullanılır. Örneğin:
  $dizi = array('Elma', 'Armut', 'Şeftali');  array_push($dizi, 'Portakal');  //dizinin son halı: array('Elma', 'Armut', 'Şeftali', 'Portakal');
  • Index Değerini Bilerek Veri Eklemek: Eğer ekleyeceğimiz değerin index değeri biliniyorsa, direk olarak o index değerine yeni bir değer ekleyebiliriz. Örneğin:
  $dizi = array('Elma', 'Armut', 'Şeftali');  $dizi[3] = 'Portakal';  //dizinin son halı: array('Elma', 'Armut', 'Şeftali', 'Portakal');

Değer eklemenin yanı sıra, mevcut bir değeri silmek de dizilerde sıklıkla kullanılan bir işlemdir. Bunun için de farklı yöntemler kullanılabilir. İşte bu yöntemler:

  • unset() Fonksiyonu: Bu fonksiyon, diziler içerisindeki bir değeri silmek için kullanılır. Örneğin:
  $dizi = array('Elma', 'Armut', 'Şeftali');  unset($dizi[1]);  //dizinin son halı: array('Elma', 'Şeftali');
  • Belirli Bir Şartı Sağlayan Verileri Silmek: Diziler içerisinde belirli bir şartı sağlayan verileri silmek için unset() fonksiyonunu kullanabiliriz. Bunun için foreach döngüsünü kullanarak şartları belirleyebiliriz. Örneğin:
  $dizi = array('Elma', 'Armut', 'Şeftali');  foreach($dizi as $anahtar => $deger) {    if($deger == 'Elma') {      unset($dizi[$anahtar]);    }  }  //dizinin son halı: array('Armut', 'Şeftali');

Yukarıda yer alan yöntemleri kullanarak dizilere yeni bir değer ekleyebilir veya mevcut bir değeri silebilirsiniz.


Değer Ekleme İşlemi

Diziler üzerinde yapılan işlemlerden biri de yeni bir değer eklemektir. Dizi içerisinde bulunan son elemandan sonra yeni bir eleman eklemek için kullanabileceğimiz fonksiyonlar vardır. Bunlardan birisi array_push() fonksiyonudur.

Bu fonksiyonu kullanarak dizi içerisine belirtilen değerleri ekleyebiliriz. Örneğin;

Kodu Çıktısı
$dizi = array("Elma", "Armut", "Çilek");
array_push($dizi, "Muz");
print_r($dizi);
Array
(
[0] => Elma
[1] => Armut
[2] => Çilek
[3] => Muz
)

Yukarıdaki kodda, ilk önce $dizi adında bir dizi tanımlanıyor. Sonrasında, array_push() fonksiyonu kullanılarak, dizinin sonuna "Muz" elemanı ekleniyor. Son olarak print_r() fonksiyonu ile dizi ekrana yazdırılıyor.

Foreach döngüsü ile bir dizi içerisine yeni bir değer eklemek için de çeşitli yöntemler vardır. Örneğin, direkt olarak index değerini belirterek yeni bir değer ekleyebiliriz.

Kodu Çıktısı
$dizi = array("Elma", "Armut", "Çilek");
$dizi[3] = "Muz";
print_r($dizi);
Array
(
[0] => Elma
[1] => Armut
[2] => Çilek
[3] => Muz
)

Yukarıdaki kodda, ilk önce $dizi adında bir dizi tanımlanıyor. Sonrasında, index değeri 3 olan yere ("Muz") direkt olarak eşitleme işlemi yapılıyor. Son olarak print_r() fonksiyonu ile dizi ekrana yazdırılıyor.

Bu yöntemler kullanılarak, foreach döngüsü ile dizi içerisine yeni bir değer eklenebilir.


Veri Eklemek için array_push() Fonksiyonu

Veri Eklemek için array_push() Fonksiyonu

Dizilere yeni bir veri eklemek için kullanabileceğimiz yöntemlerden biri de array_push() fonksiyonudur. Bu fonksiyon sayesinde dizinin sonuna yeni bir veri eklemek oldukça kolaydır.

array_push() fonksiyonu, eklemek istediğimiz veriyi paremetre olarak alır ve bu veriyi dizinin sonuna ekler. Yani dizinin içeriği değişir ve sonuna yeni bir eleman eklenmiş olur.

Örnek olarak, aşağıdaki kod bloğunda bir dizi oluşturduk ve array_push() fonksiyonu yardımıyla bu diziye "grey" değerini ekledik:

Kod Çıktı
$colors = array("red", "green", "blue");array_push($colors, "grey");print_r($colors);
Array(    [0] => red    [1] => green    [2] => blue    [3] => grey)

Bu örnekte görüldüğü gibi, array_push() fonksiyonu kullanarak "grey" değerini dizinin sonuna ekleyebildik. Bu yöntemi kullanarak, dizilerde istediğimiz zaman yeni veriler ekleyebiliriz.


index Değerini Bilerek Veri Eklemek

Diziler üzerinde, foreach döngüsü yardımı ile index bilgileri kullanılarak doğrudan ve kolay bir şekilde yeni bir değer eklenebilir. Bu işlem için öncelikle dizi içerisindeki son index değerinin bilinmesi gerekmektedir. Bu bilginin elde edilmesi için count() fonksiyonu kullanılabilir. Aşağıdaki örnek ile diziye yeni bir değer eklemeyi öğrenebiliriz:

Kod Açıklama
$dizi = array("elma", "armut", "kiraz"); Dizi oluşturuldu
$index = count($dizi); Son index değeri bulundu
$dizi[$index] = "çilek"; Yeni değer eklendi

Yukarıdaki örnekte, count() fonksiyonu kullanılarak son index değeri bulunmuştur. Daha sonra, bu index değeri kullanılarak yeni bir değer diziye eklenmiştir. Eğer dizide boş bir index değeri bulunuyorsa, direkt olarak bunun üzerine yeni bir değer eklenebilir.


Değer Silme İşlemi

Değer silme işlemleri de diziler üzerinde yapabileceğimiz önemli işlemlerden biridir. Bu işlem için kullanabileceğimiz yöntemler şunlardır:

  • unset() Fonksiyonu: unset() fonksiyonu kullanarak dizi içerisindeki bir değeri silebiliriz. Bu işlem için silinmek istenen değerin index numarası kullanılır. Örneğin, $dizi = array("elma", "armut", "muz"). Eğer armut değerini silmek istiyorsak, unset($dizi[1]); kullanarak bu işlemi gerçekleştirebiliriz.
  • Belirli Bir Şartı Sağlayan Verileri Silmek: Bazı durumlarda, sadece belirli bir şartı sağlayan verileri silmek isteyebiliriz. Bu işlem için de unset() fonksiyonunu kullanarak, foreach döngüsü ile belirli şartlar sağlayan verilerin silinebilmesini sağlayabiliriz. Örneğin, $boyutlar = array("kırmızı", "yeşil", "mavi", "beyaz");. Eğer boyutları $aranan_değer = "mavi" olan tüm elemanları silmek istiyorsak, foreach döngüsü ile her bir elemanın aranan değere sahip olup olmadığı kontrol edilir ve varsa unset() fonksiyonu ile bu elemanlar silinir.

Bu işlemler ile diziler üzerinde istenilen verilerin silinerek daha verimli bir hale getirilmesi mümkündür.


Veri Silmek için unset() Fonksiyonu

Dizilerde veri silmek için unset() fonksiyonu oldukça yaygın bir kullanıma sahiptir. Bu fonksiyon, belirtilen bir index değerine sahip veriyi dizi içerisinden silmek için kullanılabilir. Fonksiyon kullanılarak silinen veri, dizi içerisinde artık mevcut değildir. Bu sayede, dizi üzerinde yapılan değişikliklerin gerçekleştirilmesi mümkün olmaktadır.

unset() fonksiyonu kullanarak dizi içerisindeki bir veriyi silmek oldukça kolaydır. İlk olarak silinmesi istenen verinin index değeri belirlenir. Daha sonra unset() fonksiyonu kullanılarak bu değer silinebilir. Örnek olarak:

            $dizi = array("elma", "armut", "kiraz");        unset($dizi[1]); //armut silinir    

Bu örnekte, $dizi adında bir dizi tanımlanmış ve içerisinde elma, armut ve kiraz değerleri bulunmaktadır. Daha sonra unset() fonksiyonu kullanılarak, $dizi içerisindeki 1 numaralı index değerine sahip olan armut değeri silinmiştir.

Bunun yanı sıra, unset() fonksiyonu kullanılarak başka bir yöntem de uygulanabilir. Bu yöntemde, foreach döngüsü kullanılarak belirli bir koşulu sağlayan verilerin silinmesi mümkündür. Örneğin, aşağıdaki örnekte $dizi adındaki diziden sadece çift sayılar silinmektedir:

            $dizi = array(1, 2, 3, 4, 5);        foreach ($dizi as $key => $value) {            if ($value % 2 == 0) {                unset($dizi[$key]);            }        }    

Bu örnekte, $dizi adındaki dizi içerisindeki her bir değer, foreach döngüsü kullanılarak kontrol edilmekte ve eğer değer çift sayı ise unset() fonksiyonu kullanılarak silinmektedir.


Belirli Bir Şartı Sağlayan Verileri Silmek

Belirli bir şartı sağlayan verileri silmek için unset() fonksiyonu kullanabiliriz. Ancak bu yöntem, silinecek değerlerin index numaralarını bilmiyorsak pek işe yaramaz. Bu nedenle, foreach döngüsü ile belirli şartlar sağlayan verilerin silinebilmesini sağlamalıyız.

Örneğin, bir dizi içerisinde belirli bir şartı sağlayan değerleri silmek için aşağıdaki kodu kullanabiliriz:```foreach ($dizi as $index => $deger) { if ($deger == "silinecek_deger") { unset($dizi[$index]); }}```Bu kodda, foreach döngüsü kullanarak dizi içindeki her değerin index numarası ve değeri alınır. Değer, belirli bir şarta uyuyorsa (yukarıdaki örnekte "silinecek_deger" olarak belirlenmiştir), unset() fonksiyonu kullanılarak bu değer silinir. Bu yöntem, dizi içerisinde birden fazla silinecek değer varsa hepsini silebilir.

Bu şekilde belirli bir şarta uygun olan değerleri tek tek silebiliriz. Ancak daha kolay bir yöntem olarak array_filter() fonksiyonu kullanılabilir. Bu fonksiyon, belirli bir şarta uyan tüm değerleri içeren yeni bir dizi oluşturur ve bu diziyi geri döndürür. Böylece, istediğimiz değerleri koşula göre silmek yerine, istediğimiz değerleri içermeyen yeni bir dizi oluşturabiliriz.

Aşağıdaki örnekte, "silinecek_deger" isimli bir dizideki belirli bir şarta uyan tüm değerleri silmek için array_filter() fonksiyonu kullanılmıştır:```$silinecek_deger = array("deger1", "deger2", "silinecek_deger", "deger3", "silinecek_deger");

$yeni_dizi = array_filter($silinecek_deger, function($deger) { return $deger != "silinecek_deger";});

print_r($yeni_dizi);```Bu kodda, array_filter() fonksiyonu kullanarak "silinecek_deger" isimli dizideki tüm "silinecek_deger" elemanlarını filtreleyerek yeni bir dizi oluşturulmuştur. Bu yöntem, daha efektif ve hızlı bir şekilde belirli bir şarta uyan tüm değerleri silmeye olanak sağlar.


Dizilerde Arama İşlemleri

Diziler üzerinde arama yapmak, programlama dilinde oldukça sık kullanılan işlemlerdendir. Bu nedenle, PHP'deki dizilerde arama yapmak da konunun önemli bir parçasıdır. Dizi içerisinde belirli bir öğeyi aramak için kullanabileceğimiz iki yöntem vardır. Bunlar key() ve in_array() fonksiyonlarıdır.

key() fonksiyonu, bir dizideki geçerli konumu bize döndürür. Örnek olarak, bir dizi içinde belirli bir öğenin kaçıncı sırada olduğunu öğrenmek için kullanılabilir. Bu fonksiyon ile bir dizi içinde herhangi bir öğeyi arayabiliriz.

in_array() fonksiyonu, bir dizide belirli bir öğenin olup olmadığını kontrol eder ve sonuçta bize true veya false değerini döndürür. Eğer aradığımız öğe dizide mevcutsa, bu fonksiyon true değeri döndürür. Aksi halde false değeri döndürür. Bu fonksiyon, bir dizi içinde belirli bir öğeyi bulup bulmadığımızı öğrenmek için kullanılabilir.

Özetle, dizilerde arama işlemleri, programlama dilinde oldukça önemli bir konudur. PHP'de bu işlemleri gerçekleştirmek için key() ve in_array() fonksiyonlarını kullanabiliriz. Bu fonksiyonlar, dizi içinde belirli bir öğe aramamıza yardımcı olurlar ve programlamada çok sık kullanılırlar.


key() Fonksiyonu ile Arama

key() Fonksiyonu ile Arama

PHP'de key() fonksiyonu, diziler içinde arama yapmamıza yardımcı olan bir fonksiyondur. Bu fonksiyon, dizi içerisindeki ilk elemanın anahtarını bize döndürür. Yani eğer bir değerin anahtarını bulmak istiyorsak key() fonksiyonunu kullanabiliriz. Ayrıca, key() fonksiyonu dizileri varsayılan olarak sırayla tarar. Bu nedenle, belirli bir anahtarı aramak için, dizi içerisinde dolaşmayı bırakmadan önce aranan anahtara ulaşılmış olması gerekir.

Key() fonksiyonu, diziler içinde herhangi bir anahtar için kullanılabilir ve anahtarın türünden bağımsızdır. Bu nedenle, hem sayısal hem de dize anahtarlarını aramak için kullanabiliriz.

Aşağıdaki örnekte, key() fonksiyonu kullanarak bir dizi içinde belirli bir anahtarı arıyoruz:

Anahtar Değer
0 Muz
1 Elma
2 Portakal

Örnek:

$mevyeler = array('Muz', 'Elma', 'Portakal');$anahtar = key($mevyeler);echo $anahtar; // çıktı: 0

Bu örnekte key() fonksiyonu, $mevyeler dizisinin ilk elemanı olan "Muz"un anahtarını döndürüyor.

Key() fonksiyonu, dizileri anahtarlarına göre dolaşır, dolayısıyla performans açısından verimlidir. Ancak, key() fonksiyonu, sadece ilk anahtarı döndürür ve diğer anahtarları görmezden gelir. Bu nedenle, bir dizi içinde birden fazla anahtarı aramak için farklı bir fonksiyon kullanmamız gerekebilir.


in_array() Fonksiyonu ile Arama

in_array() Fonksiyonu ile Arama

PHP'de dizilerde arama yapmak oldukça önemlidir. in_array() fonksiyonu ile bir dizi içinde bir arama yapabilirsiniz. Fonksiyon, aranan değeri bulursa, sonuç olarak bize true değerini verecektir. Eğer bulamazsa false değerini döndürür. Ayrıca, bu fonksiyon, dizi işlemlerinde oldukça sıklıkla kullanılır.

in_array() fonksiyonunun kullanım şekli şu şekildedir:

Parametre Açıklama
aranacak değer Aranacak değer
dizi Aranacak dizi
strict (opsiyonel) Opsiyonel olarak, sadece değerlerin değil, aynı zamanda türlerinin de eşleşip eşleşmemesini belirler. Bu değerler düzgün bir şekilde karşılaştırdığı için, tam eşleşmenin sağlanmasını sağlar

Aşağıdaki örnekte in_array() fonksiyonunun nasıl kullanıldığını görebilirsiniz:

    $dizi = array("elma", "armut", "kiraz");        if (in_array("elma", $dizi)) {        echo "Elma, dizide bulunuyor!";    } else {        echo "Elma, dizide bulunmuyor!";    }

Bu örnekte, "elma" kelimesinin $dizi içinde bulunması durumunda "Elma, dizide bulunuyor!" yazısı çıktı olarak karşımıza çıkacaktır. Eğer "elma" kelimesi dizide yoksa, "Elma, dizide bulunmuyor!" yazısı çıktı olarak görüntülenecektir.