Hoşgeldiniz, Ziyaretçi.Lütfen giriş yapın veya kayıt olun.
E-posta adresinize aktivasyon iletisi gelmediyse lütfen buraya tıklayın.
Eylül 19, 2019, 06:49:46 ÖÖ


FORUM ŞU AN İÇİN (ÖZEL BÖLÜMLER HARİÇ) TÜM ZİYARETÇİLERE AÇIKTIR.
EMEĞE SAYGI AÇISINDAN ALINTILARIN MUTLAKA KAYNAK GÖSTERİLMESİ RİCA OLUNUR.


Ana Sayfa Ana Sayfa Yardım Ara Giriş Yap Kayıt
+  Hay-NS Yazılım
|-+  WEB TABANLI DİLLER
| |-+  PHP Makaleler
| | |-+  DİZİLER
| | | |-+  Dizi (Array) İşlemleri -1
0 Üye ve 1 Ziyaretçi konuyu incelemekte. « önceki sonraki »
Sayfa: [1] Aşağı git Bu Konuyu Gönder Yazdır
Gönderen Konu: Dizi (Array) İşlemleri -1  (Okunma Sayısı 6012 defa)
turkoder
Adnan YILDIZ
Administrator
Onbaşı
*****

Rep Puanı: +0/-0
Çevrimdışı Çevrimdışı

Mesaj Sayısı: 218



WWW
« : Haziran 06, 2007, 09:56:14 ÖS »

Dizi (Array) İşlemleri
Diziler,bir tane degisken ismi altinda verilerin index mantigi kullanilarak saklanmasidir.Dizi'nin her uyesi bir element olarak tanimlanir.Dizileri de ayni degiskenlerde oldugu gibi yaratiyoruz.Bir degiskeni "dizi" seklinde kullanacagimiz zaman sadece koseli parentezleri [] eklememiz ve gerisini PHP ye birakmamiz yeterlidir.

Değişkenlerde tek bir veri saklanmak mümkündür. Fakat birbirine benzeyen aynı türden birden çok veriyi saklanmak istenildiğinde değişkenler yetersiz kalmaktadır. Bu durumlarda diziler kullanılmaktadır. Diziler benzer veriler taşıyan ve bir seri oluşturan verilerin saklanmasında kullanılan yardımcılar olarak adlandırılabilir.

Örnegin illerden oluşan bir dizi oluşturmak istenildiğinde;
Kod:
<?
$iller[]="Ankara";
$iller[]="İstanbul";
$iller[]="İzmir";
$iller[]="Bursa";
$iller[]="Samsun";
?>

Koseli parentezler olmadan PHP ,ilk satirda degiskene verdigimiz degeri ikinci satirda bir sonraki deger ile degistirecektir.
Bu koseli parentezler sayesinde degerlerimizi bir dizi icerisinde saklamak istedigimizi PHP'ye anlatmis oluyoruz.

Eger indexlemeyi PHP ye birakiyorsak,

Kod:
<?
$iller[0]="Ankara";
$iller[1]="İstanbul";
$iller[2]="İzmir";
$iller[3]="Bursa";
$iller[4]="Samsun";
?>
olacak sekilde "sifirdan" baslayarak dizinin tum ogelerine birer numara atanir.

Böylece aynı değişken adı kullanarak bu değişkene bağlı indexler kullanılarak bu datalara ayrı ayrı erişilebilir.
Kod:
<?
echo $iller[4];
?>

Yukarıdaki islemin sonucunda ekranda "Samsun" yazacaktır

PHP'de dizi tanımlaması : array() fonksiyonu ile yapılmaktadır.
$iller = array ("Ankara","istanbul","izmir","Bursa","Ankara");

Diziler 0 nolu indexden başlamakta ve artarak devam ederler.

Dizileri bu sekilde "numara" vererek "indekslemek" yerine karekter gruplari ile de indekslemek mümkündür.

Bu şekildeki dizilerde dizi elemanlarına ulaşmak için karakterler kullanılmaktadır.
Kod:
<?
$iller["ank"]="Ankara";
$iller["ist"]="İstanbul";
$iller["izm"]="İzmir";
$iller["brs"]="Bursa";
$iller["sms"]="Samsun";
?>


PHP'nin en guzel yanlarından bir tanesi de değişik tipteki verilerin bir dizide ortak olarak kullanilabilmesidir.

Bu konuda aşağıdaki örneği inceleyebilirsiniz:
Kod:
<?
$dizi[1] = 25;
$dizi[2] = "Yirmialtı";
$dizi[3] = 123456;
$dizi["sms"] = $iller[4];
?>

Dizilerin Tanımlanması ve Kullanılması
Bir diziyi tanımlamak için adının yazılıp köşeli parentezleri eklemek yeterlidir. PHP indeksleme işlemlerini yapmaktadır. Yanlizca dizinin ilk öğesini oluşturup arkasından ikinciyi oluşturup devam etmektedir.

Bu şekilde diziler oluşturulmaktadır.

Kod:
<?
$dizi[] = "Ankara";
$dizi[] = "istanbul";
$dizi[] = "izmir";
?>


Yukarıdaki şekilde tanımlama yapıldığında
dizinin ilk elemanı yani $dizi[0] "Ankara" değerini almakta,
ikinci elamanı ($dizi[1])ise "istanbul" değerini almaktadır.

PHP'de diğer bir dizi tanımlaması ise, array() fonksiyonu ile yapılmaktadır.
$iller = array ("Ankara","istanbul","izmir","Bursa","Ankara");

Şimdi veritabanını da kullanarak bir örneklemeler demeti yapalım:

tablo adında bir tablemiz, degisken (varchar 255),degeri (text) adında da iki field i alanı olsun.

degisken       deger
----------   ---------------
adi             Adnan
soyadi        Yıldız

gibi bir veri demetimiz olduğunu varsayalım.

sorgumuzu yapalım ve $degersetimiz = array(); gibi bir dizi komutuyla dizimiz hazır sıra içerisine elemanları yerleştirmede:

Kod:
$sorgu=@mysql_query("select * from tablo,$vtbaglanti);
$degersetimiz = array();
while ($satir= @mysql_fetch_row($sorgu))
$degersetimiz [$satir[0]] = $satir[1];
@mysql_free_result($sorgu);

while döngüsüyle degisken alanını dizinin eleman ismi olarak deger alanını ise degisken alanının değeri olarak atama işini gerçekleştirmiş olduk.

Kod:
echo $degersetimiz['adi'];

bu komutun çıktısı : Adnan olacaktır.

Çok Boyutlu Diziler:

PHP icinde bir diziyi kullanırken ona iki'den fazla boyut katmak mümkündür. Bu hem kullanıcı hemde PHP nin yapısı itibari ile bir çok extra yükü beraberinde getirir. Kodun anlaşılmasını zorlaştırmaktadır, ayrıca sunucu icin ise kaynaklarının yok edilmesi bakımından önemlidir.

Aşağıda çok boyutlu dizilerle ilgili bir örnek verilmiştir:

Kod:
$dizi = array(
"iller" => array("ankara","istanbul"),
"ilceler" => array("merkez","keçiören","batıkent")
);
echo $dizi["iller"][1]." şehrinin ".$dizi["ilceler"][0]." ilçesinde ...";


  $dizi["iller"][1]; // istanbul yazdırıldı.
 
 $dizi["ilceler"][0]; // merkez yazdırıldı.

arrayları çoğaltıp deneyelim :
Kod:
$dizi = array(
"iller" => array("ankara","istanbul"),
"ilceler" => array("merkez", array("keçiören","batıkent")));
 

echo $dizi["iller"][1]; // istanbul yazdırıldı. 
echo $dizi["ilceler"][1][1]; // batıkent yazdırıldı.
« Son Düzenleme: Eylül 05, 2009, 11:11:42 ÖS Gönderen: turkoder » Logged
Sayfa: [1] Yukarı git Bu Konuyu Gönder Yazdır 
« önceki sonraki »
Gitmek istediğiniz yer:  


Kullanıcı adınızı, parolanızı ve aktif kalma süresini giriniz

MySQL Kullanıyor PHP Kullanıyor Powered by SMF 1.1.8 | SMF © 2006-2008, Simple Machines LLC XHTML 1.0 Uyumlu! CSS Uyumlu!
Bu Sayfa 0.03 Saniyede 20 Sorgu ile Oluşturuldu