PHP ile Dizi Örnekleri - Bölüm 3
PHP Dilinde Çok Boyutlu Diziler Bölüm 3
PHP ile Veritabanı uygulamaları geliştirme konusuna girmeden önce Diziler konusunun iyi öğrenilmesinin gerekliliğine inanıyorum. Daha önce PHP dilinde diziler(arrays) konusunu 2 bölüm olarak işlemiştik, bu bölümlere aşağıdaki bağlantılardan ulaşabilirsiniz.
Bölüm 1: Tek Boyutlu Diziler
Bölüm 2: Çok Boyutlu Diziler
Anahtar => Değer Şeklinde Olan Diziler
?>
Aşağıdaki örnekte ise bir üyeye ait birden fazla bilginin Adı, Soyadı ve Yaş bilgisinin tutulmasını sağlıyoruz. Her üyenin birden fazla bilgisi olacağı için dizi içinde dizi şeklinde atamayı yapıyoruz.
<?php
PHP ile Veritabanı uygulamaları geliştirme konusuna girmeden önce Diziler konusunun iyi öğrenilmesinin gerekliliğine inanıyorum. Daha önce PHP dilinde diziler(arrays) konusunu 2 bölüm olarak işlemiştik, bu bölümlere aşağıdaki bağlantılardan ulaşabilirsiniz.
Bölüm 1: Tek Boyutlu Diziler
Bölüm 2: Çok Boyutlu Diziler
Anahtar => Değer Şeklinde Olan Diziler
Bu dizilerin mantığını sözlükte kelimelerin tutulmasına benzetebiliriz. Örneğin İngilizce sözlüğü düşünelim, her kelimenin karşısında bir veya birden fazla değer vardır. Burada aranan sözcük anahtar, anlamı ise değer olarak ifade edilir. Aşağıdaki örnek incelendiğinde daha iyi anlaşılacaktır.
Plaka | Şehir |
34 | İstanbul |
06 | Ankara |
23 | Elazığ |
21 | Diyarbakır |
<?php
$dizi= array("34"=>"İstanbul",
"06"=>"Ankara",
"16"=>"Bursa",
"23"=>"Elazığ",
"21"=>"Diyarbakır");
foreach($dizi as $sayi=>$sehir)
{
echo "$sayi plakalı şehir: $sehir <br>";
}
?>
Yukarıdaki dizide anahtar=> değer çifti şeklindeki dizide plaka => şehir şeklinde atanmıştır, dizi elamanları arasında virgül konduğuna dikkat ediniz, array kelimesi de mutlaka konmalıdır. Kolay okunabilsin diye dizinin her bir anahtar=>değer çiftini ayrı satırda yazdık, tek bir satır halinde de yazabilirsiniz. Burada anahtar'dan değere ulaşmak mümkündür. Örneğin;
echo $dizi["34"]; //Ekrana İstanbul yazar
echo $dizi["06"]; //Ekrana Ankara yazar
echo $dizi["06"]; //Ekrana Ankara yazar
Foreach döngüsü ile dizinin bütün elemanlarını ekrana yazdık, foreach döngüsü bu döngüde dizinin sonuna kadar dönecektir. foreach ($dizi as $anahtar=> $deger) şeklinde kullanıyoruz. Burada elemanları ekrana yazdırılacak dizi adını yazdıktan sonra as (gibi) ifadesi ile $sayi => $sehir şeklinde dizi dönerken $sayi değişkenine plaka, $sehir değişkenine de şehir adının atanmasını sağlıyoruz.
Aşağıdaki örnekte ise bir üyeye ait birden fazla bilginin Adı, Soyadı ve Yaş bilgisinin tutulmasını sağlıyoruz. Her üyenin birden fazla bilgisi olacağı için dizi içinde dizi şeklinde atamayı yapıyoruz.
<?php
$uyeler=array(
array("adi"=>"Oğuzhan","soyadi"=>"Taş","Yaş"=>"30"),
array("adi"=>"Sinan","soyadi"=>"Can","Yaş"=>"40"),
array("adi"=>"Yağızhan","soyadi"=>"TAŞ","Yaş"=>"2"),
array("adi"=>"Yağızhan","soyadi"=>"TAŞ","Yaş"=>"2"),
);
for($i=0;$i<count($uyeler);$i++){
echo $uyeler[$i]["adi"]." ".
$uyeler[$i]["soyadi"]." ".
$uyeler[$i]["Yaş"]."<br>";
}
?>
Yukarıdaki örnekte dizinin elemanlarına aşağıdaki şekilde erişlmektedir.
$uyeler[0]["adi"];
$uyeler[0]["soyadi"]
$uyeler[0]["yas"]
$uyeler[1]["adi"];
$uyeler[1]["soyadi"]
$uyeler[1]["yas"]
$uyeler[2]["adi"];
$uyeler[2]["soyadi"]
$uyeler[2]["yas"]
Bu elemanların tümünü yazdırmak için for döngüsü aşağıdaki şekilde hazırlanmıştır.
for($i=0; $i<count($uyeler); $i++)
{
Yukarıdaki örnekte dizinin elemanlarına aşağıdaki şekilde erişlmektedir.
$uyeler[0]["adi"];
$uyeler[0]["soyadi"]
$uyeler[0]["yas"]
$uyeler[1]["adi"];
$uyeler[1]["soyadi"]
$uyeler[1]["yas"]
$uyeler[2]["adi"];
$uyeler[2]["soyadi"]
$uyeler[2]["yas"]
Bu elemanların tümünü yazdırmak için for döngüsü aşağıdaki şekilde hazırlanmıştır.
for($i=0; $i<count($uyeler); $i++)
{
echo $uyeler[$i]["adi"]." ".
$uyeler[$i]["soyadi"]." ".
$uyeler[$i]["Yaş"]."<br>";
}
Aşağıdaki örnekte de bir öğrencinin Adı, Soyadı ve 3 Sınav notu dizide tutulmaktadır. Döngü üçünde tüm öğrencilerin teker teker geçme notu ((Sınav1+Sınav2+Sınav3)/3) bulunmakta, en sonda da sınıf ortalaması hesaplanmaktadır. Sınıf ortalaması da öğrencilerin geçme notları toplamının öğrenci sayısına bölümü ile hesaplanmaktadır.
<?php
//öğrencinin adı soyadı ve aldığı 3 not vardır.
// Bu dersten her öğrecinin adı soyadı ve geçme notunu
// en sonda da sınıf ortalamasını bulunuz.
$ogrenci=array(
array("Adi"=>"Oğuzhan TAŞ","sinav1"=>50,"sinav2"=>60,"sinav3"=>70),
array("Adi"=>"Ali Can","sinav1"=>50,"sinav2"=>64,"sinav3"=>60),
array("Adi"=>"Oğuz Can","sinav1"=>80,"sinav2"=>90,"sinav3"=>40)
);
$genelOrt=0;
for($i=0;$i<count($ogrenci); $i++)
{
$gecmeNotu=($ogrenci[$i]["sinav1"]+
$ogrenci[$i]["sinav2"]+
$ogrenci[$i]["sinav3"])/3;
echo $ogrenci[$i]["Adi"]." ".$gecmeNotu."<br>";
$genelOrt += $gecmeNotu;
}
echo "Sınıf Ortalaması:".$genelOrt/count($ogrenci);
Aşağıdaki örnekte de her bir kişinin not sayısı farklıdır, kimi öğrenci 3 sınava girmiş, kimi öğrenci 2 sınava, kimi öğrenci 4 sınava girmiştir. Aşağıdaki döngü ile öğrenci kaç sınava girmiş ise ona göre ortalama hesaplanmaktadır. İki sınava girmiş ise 2 not toplanıp, 2'ye bölünmekte, 4 Sınava girmiş ise 4 not toplanıp 4'e bölünmektedir.
Aşağıdaki örnekte de her bir kişinin not sayısı farklıdır, kimi öğrenci 3 sınava girmiş, kimi öğrenci 2 sınava, kimi öğrenci 4 sınava girmiştir. Aşağıdaki döngü ile öğrenci kaç sınava girmiş ise ona göre ortalama hesaplanmaktadır. İki sınava girmiş ise 2 not toplanıp, 2'ye bölünmekte, 4 Sınava girmiş ise 4 not toplanıp 4'e bölünmektedir.
<?php
$dizi = array(
"Oğuzhan"=>array(50,60,70),
"Veli"=>array(50,40),
"Can"=>array(80,60,70,85)
);
foreach($dizi as $isim=>$notlar){
echo $isim." ";
$toplam=0; $ortalama=0; $sayac=0;
foreach ($notlar as $not){
echo $not." ";
$toplam=$toplam+$not;
$sayac++;
}
$ortalama=$toplam/$sayac;
echo " Ortalama=".$ortalama;
echo "<br>";
}
?>
Mutlu Kodlamalar,
Oğuzhan TAŞ (Kasım 2015)
Mutlu Kodlamalar,
Oğuzhan TAŞ (Kasım 2015)

Dil Değiştir(Change Language)
Kategoriler
- Csharp(58)
- Csharp Formlar(23)
- Web Tasarım(9)
- CSS(27)
- JavaScript(37)
- PHP(50)
- Laravel(3)
- ASP.net(38)
- Excel(15)
- Güvenlik(4)
- E-Ticaret(3)
- Kariyer(5)
- SQL Server(29)
- MySQL(16)
- Linux(17)
- MacOSX(8)
- Ayarlar(12)
- Bilgisayar Ağları(3)
- Symfony(1)
- Teknoloji(7)
- VBS(1)
- Arduino(6)
- RaspberryPi(1)
- Algoritmalar(15)
- HTML(3)
- Python(2)
- Bash Script(7)
- C Programlama(10)
- Flutter - Dart(11)
- Bootstrap(1)
En çok Okunan 18 Makale
- :: Excelde EĞER Fonksiyonu Kullanımı...
- :: Csharp ile Access Veritabanı Bağlan...
- :: SQL nedir, Temel SQL Komutları nele...
- :: Hangi Linux Dağıtımı?
- :: OSX İşletim Sistemine PHP, MySQL, A...
- :: Excel Hesap tablosunda EĞERSAY Fonk...
- :: PHP dilini kullanarak MySQLi tekniğ...
- :: Excel Hesap tablosunda ÇOKETOPLA Fo...
- :: Excel Hesap tablosunda ETOPLA Fonks...
- :: Excel Hesap tablosunda ÇOKEĞERSAY F...
- :: Hangi Programlama Dilini Öğrenmeliy...
- :: Mac Bilgisayarınıza Windows 7 Yükle...
- :: Excel hücrelerinde yıldız koyarak b...
- :: PHP ile Basit Dosya Yükleme
- :: C# Programlama Dili ile İlgili Örne...
- :: PHP Dili kullanarak MySQLi Tekniği ...
- :: PhpMyAdmin Şifresi Nasıl Değiştiril...
- :: Hangisi acaba, PHP mi ASP.NET mi ?