Image Image Image Image Image Image Image Image Image Image
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
PHP dizileri (Array)
#1
Information 
Dizileri tanım olarak kısaca daha önceden öğrendiğin değişkene birden fazla değer atamak ve atadığın değerleri sırayalayıp, çoklu verilere rahat müdahale etmeni sağlayan veri tipleri diyebilirim.
Değerleri bir kategori altında toplamak ya da daha dinamik değişkenler oluşturmak için diziler idealdir. Örneğin sadece bir $uyeler değişkeninde yüzlerce kullanıcının verilerine ulaşıp değişiklikler yapabiliriz.
Dizilerin kullanımı, oluşturulması ve değiştirilmesi gayet basit aynı zamanda bunların birden fazla da yolu var.
Dizi (Array) oluşturma
İster Array() fonksiyonunu kullanarak istersen de fonksiyon kullanmadan dizi oluşturabilirsin.
İlk olarak Array() fonksiyon ile oluşturmayı göstereyim:
1

Kod:
$meyveler


Kod:
=

Kod:
array

Kod:
(

Kod:
"Elma"

Kod:
,

Kod:
"Armut"

Kod:
,

Kod:
"Muz"

Kod:
,

Kod:
"Kiraz"

Kod:
);

$meyveler dizisine array() fonksiyonuyla 4 tane değer atadık.
Aynı işlemi fonksiyon kullanmadan yapalım:
1

2

3

4

Kod:
$meyveler

Kod:
[0] =

Kod:
"Elma"

Kod:
;

Kod:
$meyveler

Kod:
[1] =

Kod:
"Armut"

Kod:
;

Kod:
$meyveler

Kod:
[2] =

Kod:
"Muz"

Kod:
;

Kod:
$meyveler

Kod:
[3] =

Kod:
"Kiraz"

Kod:
;

Fonksiyonsuz yöntemde aslında dizinin nasıl sonuç verdiği ortaya çıkmış oluyor.
Üstteki Array() fonksiyonu ve fonksiyonsuz şekilde oluşturduğumuz dizilerde aynı işlemi yaptık.
Array() fonksiyonu ile oluşturduğumuz bu dizide her bir değerin anahtarı sayısal olur, yani anahtarlar 0, 1, 2, 3, … şeklinde gider. Yukarıdaki $meyveler dizisinin 0. anahtarının değeri Elma, 1. anahtarının değeri ise Armut olur.
Array() fonksiyonu ile anahtarları sayısal olmayan ve kendi istediğin gibi olacak olan diziler oluşturmak için ise şu yöntemi uygulamalısın:
1

Kod:
$meyveler


Kod:
=

Kod:
array

Kod:
(

Kod:
'bir'


Kod:
=>

Kod:
'Elma'

Kod:
,

Kod:
'iki'


Kod:
=>

Kod:
'Armut'

Kod:
,

Kod:
'üç'


Kod:
=>

Kod:
'Muz'

Kod:
);

Burada anahtarlarını kendim belirtmiş oldum. Aynısını bir de Array fonksiyonunu kullanmadan yapayım:
1

2

3

Kod:
$meyveler

Kod:
[

Kod:
'bir'

Kod:
] =

Kod:
'Elma'

Kod:
;

Kod:
$meyveler

Kod:
[

Kod:
'iki'

Kod:
] =

Kod:
'Armut'

Kod:
;

Kod:
$meyveler

Kod:
[

Kod:
'üç'

Kod:
] =

Kod:
'Muz'

Kod:
;

Bu da bir önceki örneğin fonksiyonsuz tanımlanmış hali.
Dizilerde bir adet anahtara ve sonrasında her anahtar için bir değere ihtiyacın var. Burada anahtar olan kısım ve değer olan kısmı şu şekilde göstereyim:
1

Kod:
$dizi

Kod:
[

Kod:
"anahtar"

Kod:
] =

Kod:
"değer"

Kod:
;

Anahtar olan kısıma ister sayı istersen de yazı girebilirsin. Sıralamalar için ideal olan dizi anahtarı sayılardır. Sayı anahtarlar ile dizilerde daha rahat çalışabilirsin.
Dizileri kullanmak
Bir dizi oluşturduktan sonra onu oluşturduğun gibi kullanıp, değiştirebilirsin. Hemen örnek ile açıklayayım:
1

2

3

4

Kod:
$meyveler

Kod:
[0] =

Kod:
"Elma"

Kod:
;

Kod:
$meyveler

Kod:
[1] =

Kod:
"Armut"

Kod:
;

 

Kod:
echo


Kod:
$meyveler

Kod:
[0];

Ekranda Elma yazar.
Dizileri değiştirmek
1

2

3

4

Kod:
$meyveler

Kod:
[0] =

Kod:
"Elma"

Kod:
;

Kod:
$meyveler

Kod:
[0] =

Kod:
"Portakal"

Kod:
;

 

Kod:
echo


Kod:
$meyveler

Kod:
[0];

Ekranda Portakal yazar. Çünkü $meyveler dizisinin 0. anahtarının değeri Elma iken sonraki satırda Portakal olarak değiştirdik.
Hep sayısal anahtarlar ile gösterdik, şimdi bir de yazılı anahtarlar ile göstereyim:
1

2

3

4

5

Kod:
$misafir

Kod:
[

Kod:
"isim"

Kod:
] =

Kod:
"Musa"

Kod:
;

Kod:
$misafir

Kod:
[

Kod:
"yaş"

Kod:
] = 18;

Kod:
$misafir

Kod:
[

Kod:
"il"

Kod:
] =

Kod:
"İstanbul"

Kod:
;

 

Kod:
echo


Kod:
'Misafirin ismi '


Kod:
.

Kod:
$misafir

Kod:
[

Kod:
"isim"

Kod:
] .

Kod:
', yaşı '


Kod:
.

Kod:
$misafir

Kod:
[

Kod:
"yaş"

Kod:
] .

Kod:
', ili ise '


Kod:
.

Kod:
$misafir

Kod:
[

Kod:
"il"

Kod:
] .

Kod:
'.'

Kod:
;

Ekranda Misafirin ismi Musa, yaşı 18, ili ise İstanbul. yazar.
İç içe dizi tanımlamak
Bir dizi oluşturduktan hemen sonra o dizinin içine sonsuza kadar daha dizi oluşturabiliriz. Aynı alt kategori mantığı gibi düşünebilirsin. Yine bunu ister fonksiyon ile istersen de bodoslama olarak yapabilirsin:
1

2

3

4

Kod:
$yemek

Kod:
[

Kod:
"tatlı"

Kod:
] =

Kod:
array

Kod:
(

Kod:
"pasta"

Kod:
,

Kod:
"kurabiye"

Kod:
,

Kod:
"şeker"

Kod:
);

Kod:
$yemek

Kod:
[

Kod:
"acı"

Kod:
] =

Kod:
array

Kod:
(

Kod:
"biber"

Kod:
,

Kod:
"acılı adana"

Kod:
,

Kod:
"meksika sosu"

Kod:
);

 

Kod:
echo


Kod:
'Ben '


Kod:
.

Kod:
$yemek

Kod:
[

Kod:
"tatlı"

Kod:
][0] .

Kod:
' yedim'

Kod:
;

Ekranda Ben pasta yedim yazar. Burada olduğu gibi istediğin kadar içe içe dizi oluşturabilirsin. Bir de fonksiyon kullanmadan göstereyim:
1

2

3

4

5

6

7

8

9

Kod:
$yemek

Kod:
[

Kod:
"tatlı"

Kod:
][0] =

Kod:
"pasta"

Kod:
;

Kod:
$yemek

Kod:
[

Kod:
"tatlı"

Kod:
][1] =

Kod:
"kurabiye"

Kod:
;

Kod:
$yemek

Kod:
[

Kod:
"tatlı"

Kod:
][2] =

Kod:
"şeker"

Kod:
;

 

Kod:
$yemek

Kod:
[

Kod:
"acı"

Kod:
][0] =

Kod:
"biber"

Kod:
;

Kod:
$yemek

Kod:
[

Kod:
"acı"

Kod:
][1] =

Kod:
"acılı adana"

Kod:
;

Kod:
$yemek

Kod:
[

Kod:
"acı"

Kod:
][2] =

Kod:
"meksika sosu"

Kod:
;

 

Kod:
echo


Kod:
'Ben '


Kod:
.

Kod:
$yemek

Kod:
[

Kod:
"tatlı"

Kod:
][0] .

Kod:
' yedim'

Kod:
;

Dizi silmek
Oluşturduğun dizilerden birini eksiltmek ya da tamamını yok etmek için değişkenleri yok etmekte kullandığımız unset() fonksiyonunu kullanıyoruz. İşin aslı bu fonksiyon tüm değişken tiplerini yok etmekte kullanabilirsin.
1

2

3

4

5

6

7

Kod:
$meyveler

Kod:
[0] =

Kod:
"Elma"

Kod:
;

Kod:
$meyveler

Kod:
[1] =

Kod:
"Armut"

Kod:
;

 

Kod:
// sadece bir diziyi silmek için:

Kod:
unset(

Kod:
$meyveler

Kod:
[0]);

Kod:
// tamamını silmek için:

Kod:
unset(

Kod:
$meyveler

Kod:
);

Dizinin tümünü yazdırmak
Eğer biz gerçekten bir diziyi olduğu gibi tüm içindekilerle ekrana yazdırmak istiyorsak print_r()fonksiyonunu kullanacağız. Bu bize içine yazdığımız dizinin sahip olduğu tüm anahtarları ve değerlerini gösterir:
1

2

Kod:
$renkler


Kod:
=

Kod:
array

Kod:
(

Kod:
"mavi"

Kod:
,

Kod:
"turuncu"

Kod:
,

Kod:
"yeşil"

Kod:
);

Kod:
print_r(

Kod:
$renkler

Kod:
);

Ekranda şöyle bir çıktı belirir:
Kod:
Array

Kod:
(

Kod:
    

Kod:
[0] => mavi

Kod:
    

Kod:
[1] => turuncu

Kod:
    

Kod:
[2] => yeşil

Kod:
)

Dizi yaptığınız bir değişkeni herhangi bir anahtar kullanmadan direkt olarak hep kullandığımız ekrana yansıtma fonksiyonu olan echo ile ekrana yazamıyoruz.
Çünkü adı üstünde dizi birden fazla değere sahip olduğu için tek başına yazdırmaya kalktığınızda “Array” şeklinde sonuç alırsın. Hemen bunun nasıl olacağını da göstereyim:
1

2

Kod:
$renkler


Kod:
=

Kod:
array

Kod:
(

Kod:
"mavi"

Kod:
,

Kod:
"turuncu"

Kod:
,

Kod:
"yeşil"

Kod:
);

Kod:
echo


Kod:
$renkler

Kod:
;

Bir diziyi herhangi bir anahtarını belirtmeden yazdırmaya çalıştığımız için ekranda uyarı babında yalnızca Array yazar.
Dizilerin eleman sayısını bulmak
Bir dizide kaç eleman olduğunu saymak için count() fonksiyonunu kullanıyoruz. Hemen basit bir örnek ile göstereyim:
1

2

Kod:
$renkler


Kod:
=

Kod:
array

Kod:
(

Kod:
"mavi"

Kod:
,

Kod:
"turuncu"

Kod:
,

Kod:
"yeşil"

Kod:
);

Kod:
echo


Kod:
count

Kod:
(

Kod:
$renkler

Kod:
);

Ekranda 3 yazar. Çünkü $renkler dizinin 3 elemanı var.
Dizileri sıralama
Dizileri 2 alanda sıralayabiliyoruz. Birincisi anahtara göre sıralama, diğeri ise değerlere göre sıralama. Bunlarında bir miktar fonksiyonlar ile yapıyoruz.
Tüm sıralama fonksiyonlarını bir liste halinde yazayım ve bir örnek ile açıklayayım:
Fonksiyon
Açıklaması
sort()
Değere göre küçükten büyüğe sıralar. Anahtarıyla olan ilişkisini bozar.
rsort()
Değere göre büyükten küçüğe sıralar. Anahtarıyla olan ilişkisini bozar.
asort()
Değere göre küçükten büyüğe sıralar. Anahtarıyla olan ilişkisini bozmaz.
arsort()
Değere göre büyükten küçüğe sıralar. Anahtarıyla olan ilişkisini bozmaz.
ksort()
Anahtara göre küçükten büyüğe sıralar.
krsort()
Anahtara göre büyükten küçüğe sıralar.

Örnek:
1

2

3

Kod:
$kelimeler


Kod:
=

Kod:
array

Kod:
(

Kod:
"cam"

Kod:
,

Kod:
"araba"

Kod:
,

Kod:
"balon"

Kod:
);

Kod:
sort(

Kod:
$kelimeler

Kod:
);

Kod:
print_r(

Kod:
$kelimeler

Kod:
);

Çıktısı:
Kod:
Array

Kod:
(

Kod:
    

Kod:
[0] => araba

Kod:
    

Kod:
[1] => balon

Kod:
    

Kod:
[2] => cam

Kod:
)

Otomatik tanımlanmış diziler
PHP kodları çalıştırdığında sayfaya otomatik olarak bir takım fonksiyonların tanımlandığı gibi bazı değişkenlerde tanımlanır.
İçinde kodun çalıştığı sayfanın konumunu, tarihi, sunucunun IP adresini, giren kişinin IP adresini ve bunun gibi daha bir çok veriyi bize ileten bazı değişkenler oluşturur. Bunlara genel olarak “Global değişkenler” diyoruz. Tanımlanan global değişkenler dizi olarak tanımlanır ve bir değişken ile bir çok değeri bize gönderir.
$_SERVER global dizisi
Bu global değişkenlerin en başında $_SERVER geliyor. Adı üstünde içinde server verilerine ve sayfaya giren ziyaretçilerin IP adresi, browser verileri gibi değerlerine ulaşabiliyoruz.
$_SERVER dizinin tüm değerlerini ele almak için hemen onu print_r() ile ekrana yazdırarak neyin ne olduğunu belirteyim:
Not: Anlatma gereği duymadığım ve senin henüz kullanmaya ihtiyacın olmayacak olan bazı değerleri atladım.
1

2

3

4

5

6

7

8

9

10

11

12

13

14

Kod:
Array

Kod:
(

Kod:
    

Kod:
[HTTP_USER_AGENT] => Ziyaretçinin browser bilgileri

Kod:
    

Kod:
[SERVER_NAME] => Serverin adı

Kod:
    

Kod:
[SERVER_ADDR] => Server IP adresi

Kod:
    

Kod:
[SERVER_PORT] => Server portu

Kod:
    

Kod:
[REMOTE_ADDR] => Ziyaretçinin IP adresi

Kod:
    

Kod:
[DOCUMENT_ROOT] => Dosyanın ana dizini

Kod:
    

Kod:
[SCRIPT_FILENAME] => Çalışan scriptin dizi adresi

Kod:
    

Kod:
[REQUEST_URI] => Şu an hangi adreste olduğu

Kod:
    

Kod:
[SCRIPT_NAME] => Çalışan dosyanın adı

Kod:
    

Kod:
[PHP_SELF] => Burası da çalışan dosyanın adı

Kod:
    

Kod:
[REQUEST_TIME] => Şu anki zaman

Kod:
)

$_POST, $_GET, $_COOKIE, $_SESSION global dizileri
Bu dizileri PHP from kullanımı ve örnekleriPHP Cookie ve PHP Session başlıkları altında detaylı bir şekilde ele aldık.
Dizileri nerede kullanabilirim?
Bu konuda kafanda kullanımı hakkında biraz daha fazla şey canlanması için bir örnek daha verebilirim. Mesela benzer türde verileri tek bir değişkene koyarak tek bir değişken ile tüm ihtiyaç duyduğun verilere ulaşabilirsin:
1

2

3

4

Kod:
$mesaj

Kod:
[

Kod:
"baslik"

Kod:
] =

Kod:
"Selam Dünya!"

Kod:
;

Kod:
$mesaj

Kod:
[

Kod:
"icerik"

Kod:
] =

Kod:
"Selamlar, bu sadece PHP'de dizileri daha iyi anlamamız için bir örnek"

Kod:
;

Kod:
$mesaj

Kod:
[

Kod:
"yazar"

Kod:
] =

Kod:
"Musa"

Kod:
;

Kod:
$mesaj

Kod:
[

Kod:
"tarih"

Kod:
] =

Kod:
"27 Mayıs 2010 Perşembe"

Kod:
;

Gördüğün gibi sadece $mesaj değişkeni ile bir mesajın tüm verilerini ayrı ayrı ve düzenli bir şekilde tutmuş oldum.
Ara
Cevapla
Sponsor Reklam Alanı
mybb


[-]
 ()
Facebook Linkedin Technorati Twitter Digg MySpace Delicious

Anahtar Kelimeler

PHP dizileri (Array), PHP dizileri (Array) indir, PHP dizileri (Array) Videosu, PHP dizileri (Array) online izle, PHP dizileri (Array) Bedava indir, PHP dizileri (Array) Yükle, PHP dizileri (Array) Hakkında, PHP dizileri (Array) nedir, PHP dizileri (Array) Free indir, PHP dizileri (Array) oyunu, PHP dizileri (Array) download


Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi
İçerik sağlayıcı paylaşım sitesi olarak hizmet veren pvpdiyari.com adresimizde 5651 Sayılı Kanun'un 8. Maddesine ve T.C.K' nın 125. Maddesine göre tüm üyelerimiz yaptıkları paylaşımlardan kendileri sorumludur. pvpdiyari.com hakkında yapılacak tüm hukuksal şikayetleri iletisim linkimizden bize ulaşıldıktan en geç 3 (üç) gün içerisinde ilgili kanunlar ve yönetmelikler çerçevesinde tarafımızca incelenerek, gereken işlemler yapılacak ve site yöneticilerimiz tarafından bilgi verilecektir.
Dost Siteler
| Site Ekle | Site Ekle | Site Ekle | Site Ekle | Site Ekle | Site Ekle | Site Ekle | Site Ekle | Site Ekle | Site Ekle | Site Ekle |