} //-->
 
  //htmlfbmlkodu61.tr.gg/php-Dizi-De%26%23287%3Bi%26%23351%3Bken-Olu%26%23351%3Bturmak-.htm    
       
  YAAN MENÜ  

-Html Fbml Kodu.tr.gg-

php Dizi Değişken Oluşturmak

 

<?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];
 
?>

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
 
$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
 
$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
 
$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
 
$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 indeks adını yazarak, çağrıda bulunabiliriz; bu değeri yeniden verebiliriz.

 

 
 
Ayda 211106 ziyaretçi (464037 klik) buradaydı.!
 
         
 
Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol