Alfabetik Sıralama :ABCDEFGHIJKLMNOPQRSTUVWXYZ -


Şimdi, PHP bize öyle bir araç vermeli ki, biz bir kerede bu listenin tümünü, her bir ögesine sanki bir değişkenin değeri imiş gibi tek-tek, veya bir kaçına birden ulaşabilmeli ve arzu ettiğimiz zaman notları doldurabilmeliyiz. Öğrenciler de yapacağımız Web sitesine girerek, kendi notlarını görebilmeli ve notlarını inceleyebilmeli. PHP`nin bu amaçla sağladığı araç, çok-boyutlu dizi-değişken oluşturma aracıdır. Ve bu araçla yukarıdaki listeyi aynen şöyle yapabiliriz. Bu kodu dizi_degiskenler01.php adıyla kaydedin:
php:

<HTML>

<HEAD>

<TITLE>PHP de Degiskenler</TITLE>

<meta http-equiv="content-type" content="text/html; charset=ISO-8859-9">

<meta http-equiv="Content-Type" content="text/html; charset=windows-1254">

</HEAD>

<BODY>

<B>

<H2>

<?php

$ogrenciler = array (

array ( adi => "Özbay", soyadi => "Altun", sinav1 =>"", sinav2 =>"", not =>""),

array ( adi => "Muharrem", soyadi => "Taç", sinav1 =>"", sinav2 =>"", not =>""),

array ( adi => "Hasan", soyadi => "Civelek", sinav1 =>"", sinav2 =>"", not =>""),

array ( adi => "Şahika", soyadi => "Tabak", sinav1 =>"", sinav2 =>"", not =>""),

);

// Buraya başka kodlar girecek

print $ogrenciler[0][adi];

?>

</H2>

</B>

</BODY>

</HTML>

Programdaki "print()" komutunu sadece dizi değişkeni doğru yazıp yazmadığımızı sınamak amacıyla yazdık; bu programı Browser`da açtığınızda yazdığınız ilk ismi Browser penceresinde görüyorsanız, dizi-değişkeni doğru şekilde oluşturdunuz demektir. Burada, array() komutnu yazarken, süslü parantez değil, normal parantez kullandığımıza ve herbir elemanın değerlerinin sonunda vrigül olduğuna dikkat edir. Bir diğer önemli nokta: endeks adları bir kelimeden fazla ise bunları tırnak içine alarak belirtmektir. Örneğin:

array ( adi => "Özbay", soyadi => "Altun", "Sinav 1 Notları" =>"", "Sinav 2 Notları" =>"", "Toplam Not Ortalamasi" =>""),

Burada, daha öncekilere benzer bir şekilde adlandırılmış $ogrenciler değişkenin içeriğini array() komutu ile doldurduğumuzu görüyoruz. Array() ile böyle çok boyutlu ve içerdiği değerlerin her birinin bir "endeks adı" olan dizi-değişkene İlişkili Dizi (Associative array) de denir. Perl bilenler ise bu tür değişkenlere "Hash" dendiğini hatırlayacaklardır. İlişkili Dizi`lerin birinci satırı 0, ikinci satırı 1, üçüncü satırı 2.. diye numaralandırılır. Bu dizinin o satırındaki kaydın sıra endeksidir. Ayrıca burada "adi," "soyadi," "sinav1" .. dizi değişkenin içindeki değerlerin endeks adıdır. Yani bu değerlere atıfta bulunurken, referans yaparken veya bu değerleriekullanmak amacıyla erişirken sıra endeksi ve endeks adıyla hitabederiz. Yukarıdaki sınama amaçlı print() komutuna bakarsanız, birinci öğrencinin ismini "[0][adi]" olarak çağırıyor.

Çok elemanlı ilişkili dizi oluşturmanın bir diğer yolu, yeri geldiğinde böyle bir dizi için yeni bir üye ilgili bilgileri eleman endeksi ve değerler için endeks adı belirterek şöyle bir kod yazmaktan ibarettir. dizi_degiskenler01.php dosyasında şu değişikliği yaparak, dizi_degiskenler02.php adıyla kaydedin
php:

<?php

$ogrenciler[0][adi] = "Özbay";

$ogrenciler[0][soyadi] = "Altun";

$ogrenciler[0][sinav1] = "";

$ogrenciler[0][sinav2] = "";

$ogrenciler[0][not] = "";

// Buraya Buraya başka kodlar girecek

print $ogrenciler[0][adi];

?>

Bir dizi değişkende kaç boyut olacaksa, o kadar içiçe array() ögesi oluşturabiliriz. Buna göre tek boyutlu bir dizi değişken sadece bir array() komutu ile ve sadece değerler verilerek oluşturulabilir. Diyelim ki yukarıdaki öğrenci listemiz sadece öğrencilerin isimlerinden oluşacak. Bu durumda $ogrenciler değişkenine ilişkin satırı şöyle yazabilirdik:

$ogrenciler = array ("Özbay", "Muharrem", "Hasan", "Şahika");

PHP, böyle tek boyutlu bir dizinin örneğin birinci elemanını, "$ogrenciler[0]" adıyla bilir. Böyle bir tek-boyutlu diziyi oluşturmak için PHP bize başka bir kolaylık da sağlar: array() komutunu kullanmadan, doğruca dizinin ögelerine değer vermemiz mümkündür. Yukarıdaki programın sadece PHP bölümünü şöyle değiştirerek, dizi_degiskenler03.php adıyla kaydedin:
php:

<?php

$ogrenciler[] = "Özbay";

$ogrenciler[] = "Muharrem";

$ogrenciler[] = "Hasan";

$ogrenciler[] = "Şahika";

// Buraya başka kodlar girecek

print $ogrenciler[0];

?>


Böyle sırayla dizi değişken oluşturur veya oluşturulmuş bir dizi değişkene ek yaparken, değişkenin sıra numarasını yazmazsak, PHP bunları kendisi sıralar. Yukarıdaki kodun da Browser penceresine "Özbay" yazdırması gerekir. Mevcut tek-boyutlu bir dizi değişkene ek yaptığımızda, be yeni değerin dizinin en altına eklenmesini istiyorsak, sıra numarası yazmamıza gerek yoktur. Mevcut değerlerden birini değiştirmek istiyorsak, o değerin sıra numarasını yazmamız gerekir. Bunu denemek için yukarıdaki kodu şöyle değiştirilim ve dizi_degiskenler04.php adıyla kaydedelim:
php:

<?php

$ogrenciler[] = "Özbay";

$ogrenciler[] = "Muharrem";

$ogrenciler[] = "Hasan";

$ogrenciler[] = "Şahika";

// Buraya başka kodlar girecek

$ogrenciler[0] = "Emre";

$ogrenciler[15] = "Özbay";

print ("Dizideki 1`nci isim: $ogrenciler[0] <br>");

print ("Dizideki 2`nci isim: $ogrenciler[1] <br>");

print ("Dizideki 3`ünci isim: $ogrenciler[2] <br>");

print ("Dizideki 4`üncü isim: $ogrenciler[3] <br>");

print ("Dizideki 5`inci isim: $ogrenciler[4] <br>");

print ("Dizideki 6`ncı isim: $ogrenciler[5] <br>");

print ("..............<br>");

print ("Dizideki 15`nci isim: $ogrenciler[15] <br>");


?>

Bu programın Browser penceresine göndereceği sırada, birinci öğrenci ($ogrenci[0]) olarak bu kez Özbay değil Emre yazdığını göreceğiz.
Bunun sebebi, diziyi oluşturan ilk grup deyimden sonra,

$ogrenciler[0] = "Emre";

satırı ile birinci elemanın değerini değiştirmiş olduk. 15`nci elemana atama yapmakla, PHP`nin $ogrenciler dizisinde 6, 7, 8, 9,.. 14`e kadar boş elemanlar oluşturmasına sebep olduk.

Tek boyutlu dizileri de İlişkili Dizi olarak oluşturabilir yani değerlere endeks adı verebiliriz. Daha önce kaydettiğimiz dosyada şu değişikliği yapalım ve dizi_degiskenler05.php adıyla kaydedelim:
php:

<?php

$ogrenci[adi] = "Özbay";

$ogrenci[soyadi] = "Altun";

$ogrenci[sinav1] = "";

$ogrenci[sinav2] = "";

$ogrenci[not] = "";

// Buraya başka kodlar girecek

print $ogrenci[adi];

?>

PHP, $ogrenci adlı değişkenin beş ayrı değeri olduğunu ve bunların "adi," "soyadi," "sinav1"... olduğunu biliyor. Şimdi artık istediğimiz noktada bu değişkenin istediğimiz değerine, o değerin endeks adını yazarak, çağrıda bulunabiliriz; bu değeri yeniden verebiliriz.

Konu: PHP De Dizi Değişken Oluşturma
 
Okunma Sayısı : 43
Eklenme Tarihi : 25 Ocak 2007, Perşembe
SONRAKI BILGI : Joomla 1.5 Beta İzlenimlerim   
Forum Linki:
Aranan Kelime:
 

En Yeni Bilgiler


 PHP De Formlar Get Metodu PHP De Formlar Get Metodu
 PHP De While döngüsü PHP De While döngüsü
 PHP ve Tırnak İşareti PHP ve Tırnak İşareti
 PHP De Parola PHP De Parola
 PHP ve MySQL İlişkisi PHP ve MySQL İlişkisi
 Mysql Veri Türleri Mysql Veri Türleri
 PHP De sql_regcase() PHP De sql_regcase()
 PHP De split() PHP De split()
 PHP De ereg_replace() ve eregi_replace() PHP De ereg_replace() ve eregi_replace()
 PHP De ereg() ve eregi() PHP De ereg() ve eregi()
 PHP De Karakter Grupları PHP De Karakter Grupları
 PHP De Düzenli İfadelerde Özel Karakterler PHP De Düzenli İfadelerde Özel Karakterler
 PHP De Eşleştirme deyimleri ve işaretler PHP De Eşleştirme deyimleri ve işaretler
 PHP De chr() Düzenli İfadeler PHP De chr() Düzenli İfadeler
 PHP De Tarih ve Saat Düzenleme PHP De Tarih ve Saat Düzenleme
 PHP De number_format() Fonksiyonu PHP De number_format() Fonksiyonu
 PHP De printf() ve sprintf() PHP De printf() ve sprintf()
 PHP De strlen() Fonksiyonu PHP De strlen() Fonksiyonu
 PHP De chr() Fonksiyonu PHP De chr() Fonksiyonu
 PHP De trim() Fonksiyonu PHP De trim() Fonksiyonu
 PHP De Alfanümerik Fonksiyonlar PHP De Alfanümerik Fonksiyonlar
 PHP De Örnek Dosya İşlemi PHP De Örnek Dosya İşlemi
 PHP De Dizin Silme PHP De Dizin Silme
 PHP De Dizin Oluşturma PHP De Dizin Oluşturma
 PHP De Dosya Kilitleeme PHP De Dosya Kilitleeme
 PHP De Dosyaya yazma ve ek yapma PHP De Dosyaya yazma ve ek yapma
 PHP De fseek() ile ölçü belirleme PHP De fseek() ile ölçü belirleme
 PHP De Dosya Okuma PHP De Dosya Okuma
 PHP De Fonkisyon Durdurma PHP De Fonkisyon Durdurma
 PHP De Dosya açma PHP De Dosya açma
 PHP De Dosyalar oluşturma ve silme PHP De Dosyalar oluşturma ve silme
 PHP De Dosyaya son erişim tarih PHP De Dosyaya son erişim tarih
 PHP De Dosya Boyutu PHP De Dosya Boyutu
 PHP De is_executable() PHP De is_executable()
 PHP De is_writable() PHP De is_writable()
 PHP De is_readable() PHP De is_readable()
 PHP De is_file() ve is_dir() PHP De is_file() ve is_dir()
 PHP De Dosya Kontrolü PHP De Dosya Kontrolü
 PHP De include ve require PHP De include ve require
 PHP De Dosya Ekleme (include) PHP De Dosya Ekleme (include)
 PHP De Dosya Yükleme PHP De Dosya Yükleme
 PHP De Formlar ve İşlemci PHP De Formlar ve İşlemci
 PHP De Formlar Post Metodu PHP De Formlar Post Metodu
 PHP De URL Kodları PHP De URL Kodları
 PHP De Formlar PHP De Formlar
 PHP De Nesne Oluşturma PHP De Nesne Oluşturma
 PHP De Nesneler PHP De Nesneler
 PHP De Dizileri sıralama PHP De Dizileri sıralama
 PHP De Diziden kesit alma PHP De Diziden kesit alma
 PHP De Dizinin ilk elemanını silme PHP De Dizinin ilk elemanını silme
 PHP De Dizilere değişken ekleme PHP De Dizilere değişken ekleme
 PHP De Dizi Değişkenlerin Düzenlenmesi PHP De Dizi Değişkenlerin Düzenlenmesi
 PHP De Dizi Değişkenleri Kullanma PHP De Dizi Değişkenleri Kullanma
 PHP De Dizi Değişken Oluşturma PHP De Dizi Değişken Oluşturma
 PHP De Dizi Değişkenleri PHP De Dizi Değişkenleri
 PHP De Değişken Kapsamı PHP De Değişken Kapsamı
 PHP De Fonksiyonlara Değer Verme PHP De Fonksiyonlara Değer Verme
 PHP De Fonksiyonlar PHP De Fonksiyonlar
 PHP De Continue PHP De Continue
 PHP De Breack PHP De Breack
 PHP De foreach döngüsü PHP De foreach döngüsü
 PHP De For Döngüsü PHP De For Döngüsü
 PHP DE do..while PHP DE do..while
 PHP ve Switch PHP ve Switch
 PHP ve if - else - ifelse PHP ve if - else - ifelse
 PHP ve Tarih Saat PHP ve Tarih Saat
 PHP ve Sabit Değerler PHP ve Sabit Değerler
 PHP De Azaltma ve Arttırma PHP De Azaltma ve Arttırma
 PHP De Dört İşlem PHP De Dört İşlem
 PHP Deki Dört Yararlı Fonksiyon PHP Deki Dört Yararlı Fonksiyon
 PHP De Boşluklar PHP De Boşluklar
 PHP ve Fonksiyonlar PHP ve Fonksiyonlar
 PHP ve Tür Değiştirme PHP ve Tür Değiştirme
 PHP ve Veri Türleri PHP ve Veri Türleri
 PHP`de Değişkenler PHP`de Değişkenler
 Windows`da MySQL Windows`da MySQL
 Windows`da Apache Windows`da Apache
 PWS 4.0 PWS 4.0
 Browser Yetenek Dosyası Browser Yetenek Dosyası
 IIS 4.0 ve 5.0 IIS 4.0 ve 5.0
 Windows-PWS ve IIS Windows-PWS ve IIS
 Güvenli socket ve Internet Erişimi Katmanı Güvenli socket ve Internet Erişimi Katmanı
 Linux`ta program derlediniz mi? Linux`ta program derlediniz mi?
 Unix - Linux Sistemleri Unix - Linux Sistemleri
 PHP ve Web Sunucusu PHP ve Web Sunucusu
 PHP ve Veritabanı PHP ve Veritabanı
 PHP`ye Giriş PHP`ye Giriş
 MD5 ile Şifreleme MD5 ile Şifreleme
 

 

 

Copyright © 2008 Temha.neT