PHP Dersleri #18 – Diziler (array)


kodportali.comPHP derslerine kaldığı yerden tüm hızıyla diziler (array) ile devam ediyoruz.

PHP ‘de Diziler

Diziler yani asıl adıyla array bir çok programlama dili için çok önemlidir. Diziler sayesinde bir veri yapısı oluşturur ve içinde binlerce veri tutarsanız. Yani değişkene birden fazla değer atarmış gibi. array sayesinde çoklu verilere müdahele edebiliriz. Bu bizim dinamik değişkenler oluşturmamızı sağlar.

Dizi Oluşturmanın Kuralları Nelerdir?

Öncelikli dizide bir anahtar (key) ve değeri (value) olmak zorundadır. Eğer siz bir anahtar belirtmezseniz PHP otomatik olarak kendisi belirleyecekdir.

  • Anahtar string ve int veri tipi dışında başka herhangi bir veri tipi olamaz.
  • Eğer anahtar float olursa, int olarak alınır. Mesela anahtarımıza 3.1 yazdıysak 3 olarak alınır.
  • Eğer anahtarımıza bool veri tipi aldıysak, bu int veri tipine çarpıtılır. Yani true 1’e, false 0’a çarpıtılır.
  • Eğer anahtar null ise, boş string ‘e yani “” olarak çarpıtılır.
  • array ve object veri tipleri kullanılamaz, bunu yapmak illegal offset type uyarısına sebeb olup.

Hadi array Oluşturalım

Unutmayın! Array ya [] yada array() fonksiyonu ile oluşturulur ve her veri arasına “,” konulur. (Sonucusu hariç)

Anahtarsız İndisli Diziler

Gördüğünüz gibi yukarıdaki örneğimizde $languages ve $numbers olmak üzere 2 dizi oluşturduk. Birini köşeli parentezler kullanarak oluştururken diğerini ise fonksiyon ile oluşturuduk. İkiside sonuç olarak dizi oluşturdu, istediğinizi kullanmak konusunda özgürsünüz bir farkları bulunmuyor. Yukarıda herhangi bir anahtar belirmeden oluşturduk buna anahtarsız indisli diziler deniyor, PHP kendisi 0’dan başlayarak sayısına göre bir anahtar atayacaktır.

Anahtarlı İndisli Diziler

Yukarıdaki örneğimizde ise bir anahtar atadık ve karşına değerini yazdık. $peoples değişkenine dizi atadık ve içine 3 farklı değer girdik. $intKeys değişkeninede dizi atadık ve 4 farklı değer girdik fakat 3 değerde bir anahtar belirtmezken birinde belirttik. PHP otomatik olarak ilk 2sine yani 1. ve 2. değere anahtarını atayacak, 3. değerde anahtar olduğu için ona 9 sonrakine ise yani 4. değere 10 atayacaktır. En sonda değişkeni ekrana yazdırdık. Kodumuzu çalıştırdığımız zaman çıktımız aşağıdaki gibi olacaktır.

Çok Boyutlu Diziler

Çok boyutlu diziler demek array içinde array demektir. Bunu hemen örneklerle destekleyelim.

Yukarıdaki örneğimizdede göründüğü gibi $array adında değişken belirttik ve içinde anahtarı string değere sahip 2 array daha belirttik. Yani dizi içinde dizi belirtmiş olduk. Ayrıca dizi içindeki dizilerede int veri tipinde anahtar koyduk. En sonda ekrana yazdırdık. Ekrana yazdırdığımız zaman kodumuzun çıktısı aşağıdaki gibi olacaktır.

Diziden Değer Çekme

Evet dizilerin ne olduğunu öğrendiğimize göre artık değer çekme kısmına gelebiliriz. Değer çekmek için köşeli parentez kullanıcaz. Hemen yukarıdaki örneğimiz ile devam edelim.

Yine yukarıdaki örneğimizde kullandığımız diziyi aldık. $reply adında bir değişken belirledik ve diziden veri çekdik. Yaptığımız işlem çok kolay $array değişkeninden yani dizimizden ‘test_1’ anahtarına sahip değeri çekdik ve o değer yine dizi idi, daha sonra o dizidende ‘1’ anahtarına sahip değeri çekdik, onunda değeri string idi. En sonda ekrana yazdırdık. Yani mantık şu köşeli parantezler içine çekmek istediğimiz değerin anahtarını yazıyoruz. Eğer anahtarı bulamazsa PHP otomatik olarak Warning verecektir. Kodumuzu çalıştırdığımız zaman kodumuzun çıktısı aşağıdaki gibi olacaktır.

Dizileri foreach Döngüsü İçinde Kullanma

foreach bizi array değerimizi ve anahtarımızı döndürmemizi sağlar. Hemen örnekler ile gösterelim.

İlk foreach ile döndürmemizde anahtarsız diziyi döndürdük eğer anahtarları bizim tarafımızdan belirlenmediyse veya döndürmek istemiyorsak ‘=>’ operatörünü eklemeyeceğiz. Bu operatör önce anahtarı döndürüp sonrakinde değeri döndürüp değişkene atamımızı sağlıyor. İkinci örneğimizde o operatörü kullandık ve hem anahtarı hemde değeri döndürüp yazdırdık. Eğer kodu birazcık incelerseniz mantığını çok iyi anlarsınız zaten. Kodumuzu çalıştırdığımız zaman çıktımız aşağıdaki gibi olacaktır.

 

Evet bu dersimizinde burada sonuna geldik. Herhangi bir sorunuz olursa yorumlarda sorabilirsiniz.

Sitemizdeki tüm PHP dersleri için buraya tıklayabilirsiniz.

[Toplam:0    Ortalama:0/5]

Sizin Tepkiniz Nedir?

süper süper
0
süper
bilgilendirici bilgilendirici
2
bilgilendirici
beğenmedim beğenmedim
0
beğenmedim
beğendim beğendim
2
beğendim
Düşündürücü Düşündürücü
1
Düşündürücü
Anıl Mısırlıoğlu
Yazılım Mühendisi

0 Yorum

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bir format seçin
Kişisel Test
Kişiliğe dair bir şey ortaya çıkarmayı amaçlayan sorular dizisi
Basit Test
Bilgiyi kontrol etmek isteyen doğru ve yanlış cevaplı sorular dizisi
Anket
Karar vermek veya görüş belirlemek için oylama yapmak
Serbest Yazı
Yazılarınıza Görseller Bağlantılar Ekleyebilirsiniz
Liste
Klasik İnternet Listeleri
Geri Sayım Listesi
Klasik İnternet Geri Sayım Listeleri
Açık Liste
Kendi öğenizi gönderin ve en iyi sunum için oy verin
Oylanabilir Liste
En iyi liste öğesine karar vermek için yukarı veya aşağı basın
Fotoyla Anlatım
Kendi resimlerinizi yükleyin ve birşeyler anlatın
Video
Youtube, Vimeo veya Vine Kodları
Ses
Soundcloud veya Mixcloud İçerikleri
Görsel
Fotoğraf veya GIF
GIF
GIF Formatı