PHP dizileri (Array) - Gulucuk.NET Forum
Gulucuk.NET Forum


Go Back   Gulucuk.NET Forum > GulucukCom ~Webmaster~ > Web Dilleri > Php



Konu Bilgileri
Kısayollar
Konu Basligi
PHP dizileri (Array)
Cevaplar
0
Sonraki Konu
sonraki Konu
Görüntüleyenler
 
Görüntüleme
71
Önceki Konu
önceki Konu

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 01-09-2019   #1
Üye
Erroneous - ait Kullanıcı Resmi (Avatar)

Gulucuk Forum - Chat ve Sohbet Forum Sitesi.
Üye No: 878
Üyelik tarihi: Dec 2018
Üye Grubu: Üye
Mesajlar: 626
Konular: 546
Şube: Bartın Şubesi
İlişki Durumu: İlişkisi Yok
Ruh Hali:  Ruhsuz
Tuttuğu Takım:

Level: 22 [♥ Bé-Yêu ♥♥ Bé-Yêu ♥♥ Bé-Yêu ♥♥ Bé-Yêu ♥♥ Bé-Yêu ♥]
Paylaşım: 273 / 546
Güç: 208 / 557
Tecrübe: 87%

Teşekkürler: 0
66 Mesajına 75 Kere Teşekkür Edildi
REP Gücü : 1
REP Puanı : 15
REP Seviyesi : Erroneous is on a distinguished road
Post PHP dizileri (Array)

Merhabalar, 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:

$meyveler = array("Elma", "Armut", "Muz", "Kiraz");
$meyveler dizisine array() fonksiyonuyla 4 tane değer atadık.

Aynı işlemi fonksiyon kullanmadan yapalım:

$meyveler[0] = "Elma";
$meyveler[1] = "Armut";
$meyveler[2] = "Muz";
$meyveler[3] = "Kiraz";
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:

$meyveler = array('bir' => 'Elma', 'iki' => 'Armut', 'üç' => 'Muz');
Burada anahtarlarını kendim belirtmiş oldum. Aynısını bir de Array fonksiyonunu kullanmadan yapayım:

$meyveler['bir'] = 'Elma';
$meyveler['iki'] = 'Armut';
$meyveler['üç'] = 'Muz';
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:

$dizi["anahtar"] = "değer";
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:

$meyveler[0] = "Elma";
$meyveler[1] = "Armut";

echo $meyveler[0];
Ekranda Elma yazar.

Dizileri değiştirmek
$meyveler[0] = "Elma";
$meyveler[0] = "Portakal";

echo $meyveler[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:

$misafir["isim"] = "Musa";
$misafir["yaş"] = 18;
$misafir["il"] = "İstanbul";

echo 'Misafirin ismi ' . $misafir["isim"] . ', yaşı ' . $misafir["yaş"] . ', ili ise ' . $misafir["il"] . '.';
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:

$yemek["tatlı"] = array("pasta", "kurabiye", "şeker");
$yemek["acı"] = array("biber", "acılı adana", "meksika sosu");

echo 'Ben ' . $yemek["tatlı"][0] . ' yedim';
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:

$yemek["tatlı"][0] = "pasta";
$yemek["tatlı"][1] = "kurabiye";
$yemek["tatlı"][2] = "şeker";

$yemek["acı"][0] = "biber";
$yemek["acı"][1] = "acılı adana";
$yemek["acı"][2] = "meksika sosu";

echo 'Ben ' . $yemek["tatlı"][0] . ' yedim';
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.

$meyveler[0] = "Elma";
$meyveler[1] = "Armut";

// sadece bir diziyi silmek için:
unset($meyveler[0]);
// tamamını silmek için:
unset($meyveler);
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:

$renkler = array("mavi", "turuncu", "yeşil");
print_r($renkler);
Ekranda şöyle bir çıktı belirir:

Array
(
[0] => mavi
[1] => turuncu
[2] => yeşil
)
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:

$renkler = array("mavi", "turuncu", "yeşil");
echo $renkler;
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:

$renkler = array("mavi", "turuncu", "yeşil");
echo count($renkler);
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:

$kelimeler = array("cam", "araba", "balon");
sort($kelimeler);
print_r($kelimeler);
Çıktısı:

Array
(
[0] => araba
[1] => balon
[2] => cam
)
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.

Array
(
[HTTP_USER_AGENT] => Ziyaretçinin browser bilgileri
[SERVER_NAME] => Serverin adı
[SERVER_ADDR] => Server IP adresi
[SERVER_PORT] => Server portu
[REMOTE_ADDR] => Ziyaretçinin IP adresi
[DOCUMENT_ROOT] => Dosyanın ana dizini
[SCRIPT_FILENAME] => Çalışan scriptin dizi adresi
[REQUEST_URI] => Şu an hangi adreste olduğu
[SCRIPT_NAME] => Çalışan dosyanın adı
[PHP_SELF] => Burası da çalışan dosyanın adı
[REQUEST_TIME] => Şu anki zaman
)
$_POST, $_GET, $_COOKIE, $_SESSION global dizileri
Bu dizileri PHP from kullanımı ve örnekleri, PHP 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:

$mesaj["baslik"] = "Selam Dünya!";
$mesaj["icerik"] = "Selamlar, bu sadece PHP'de dizileri daha iyi anlamamız için bir örnek";
$mesaj["yazar"] = "Musa";
$mesaj["tarih"] = "27 Mayıs 2010 Perşembe";
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.

___________________________________________

İf You Can Dream İt,You Can Do it
Erroneous isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla

Erroneous Kullanicisinin Son 5 Konusu
Baslik Kategori Son Yazan Cevaplar Okunma Son Mesaj
26.03.2019 Güncel Proxy Güncel Proxy Erroneous 0 19897 03-26-2019 08:01 PM
20.03.2019 Güncel Proxy Güncel Proxy Erroneous 0 16730 03-20-2019 01:45 PM
10.03.2019 Güncel Proxy Güncel Proxy Erroneous 0 39239 03-10-2019 12:04 PM
09.03.2019 Güncel Proxy Güncel Proxy Erroneous 0 27233 03-09-2019 09:35 PM
06.03.2019 Güncel Proxy Güncel Proxy Erroneous 0 24549 03-06-2019 09:32 PM

Cevapla

Etiketler
arrsy , dizileri , php


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

(View-All Konu Okunma Sayisi : 3
aSi_KaN , Babacan69 , Erroneous
Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 07:20 AM.

Forum Yasal Uyarı

Kuruluş : 2018
2018 - "Gulucuk Forum" her hakkı saklıdır.


Gulucuk Forum, en iyi Mozilla Firefox ile dolaşılır.
YASAL UYARI : İçerik sağlayacı paylaşım sitelerinden biri olan gulucuk forum Adresimizde 5651 Sayılı Kanun'un 8. Maddesine ve T.C.K'nın 125. Maddesine göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur. gulucuk forum hakkında yapılacak tüm hukuksal Şikayetler, Yöneticilerimiz ile iletişime geçilmesi yada iletişim formunu doldurulması halinde ilgili kanunlar ve yönetmelikler çerçevesinde en geç 1 (Bir) Hafta içerisinde gulucuk forum yönetimi olarak tarafımızdan gereken işlemler yapılacak ve size dönüş sağlanacaktır.



Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.6.0 RC 1

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234