Dizi (array) değişkenleri

Slides:



Advertisements
Benzer bir sunumlar
PHP VE MYSQL.
Advertisements

C# - Metotlar.
EKRAN ÇIKTISI.
PHP ile Lab Örnekleri Lab Çalışması.
JAVASCRİPT VERİ TÜRLERİ
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Javascript Oğuz İNAL.
Diziler Dizi, bellekte aynı isim altında toplanmış değişkenler kümesidir. Eğer ki aynı türden veriler grubunu bellekte tutmak gerekirse diziler kullanılır.
Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu
PHP'de formdan gelen bilgileri almak için $_GET ve $_POST değişkenleri kullanılır
Elektrik-Elektronik Mühendisliği Bölümü DİZİLER C Programlama Dili Yaz Stajı Cengiz TEPE SAMSUN 2007.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
String Kütüphanesindeki Arama Fonksiyonları
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler
Çerez(Cookie) Kullanımı Oturum Yönetimi
Dizi (ARRAY) Diziler grup halindeki değişkenler olarak tanımlanabilir. Dizi içersinde yüzlerce değişken olabilir. Dizi elemanları index adı verilen sıra.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Diziler.
PHP-Dosya ve Dizinler Internet Tabanlı Programlama Dr. Erman Yukselturk.
NESNEYE YÖNELİK PROGRAMLAMA
DİZİLER (Arrays) Yrd.Doç.dr. Cİhad demİrlİ
MySQL, SQL ve PHP Öğr.Gör.Şükrü KAYA.
PHP 4’ün Yenilikleri VIII. “Türkiye’de İnternet” Konferansı İstanbul, Aralık 2002 Hidayet Doğan.
While Döngüsü Tekrarlama deyimidir. Bir küme ya da deyim while kullanılarak bir çok kez yinelenebilir. Yinelenmesi için koşul sınaması döngüye girilmeden.
İnternet Programcılığı II
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 9. Tek değişkende birden fazla bilgi tutulmak istendiğinde kullanılır. Kullanım şekli: var dizi_adı= new Array(eleman1,
METODLAR.
Operatörler ve Denetim Yapıları
ÇOK BOYUTLU DİZİLER.
WEB PROGRAMLAMA PHP Temelleri 2 Dr. Erman Yukselturk.
Nesneye Yönelik Programlama
8. VİSUAL BASİC İLE TEMEL DOSYALAMA İŞLEMLERİ
Görsel C# Programlama Güz 2009 (6. Hafta).
Chapter 6: Using Arrays.
Diziler Dizi, bellekte aynı isim altında toplanmış değişkenler kümesidir. Eğer ki aynı türden veriler grubunu bellekte tutmak gerekirse diziler kullanılır.
INTERNET TABANLI PROGRAMLAMA
Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü
BM-103 Programlamaya Giriş Güz 2014 (8. Sunu)
Microsoft Office Access
NESNEYE YÖNELİK PROGRAMLAMA
Demet AYDIN METODLAR Demet AYDIN
C PROGRAMLAMA DİZİLER (ARRAYS).
İnternet Programcılığı II
Bölüm 3: Diziler BTEP 102 – Veri Yapıları ve Programlama
C PROGRAMLAMA FONKSİYONLAR Adres ile Fonksiyon Çağırma Pointer (İşaretçiler) ile Fonksiyon Çağırma Rekürsif Fonksiyonlar.
PHP’ye Giriş Akademik Bilişim 2003 Adana, Şubat 2003 Hidayet Doğan.
Name formun adı Action formun gönderilecegi adres. Bu adres uzun URL yada lokaldeki CGI adresi Kullanılan method POST yada GET GET ile adres satırında.
BM-103 Programlamaya Giriş Güz 2014 (9. Sunu)
DİZİLER Arrays.
İKMAP İnternet 1 Ders Notu
Göğüşhan KILIÇ twitter.com/gogushan_kilic PHP’ye Giriş OLMAYA HAZIR MIYIZ?
Göğüşhan KILIÇ twitter.com/gogushan_kilic OLMAYA HAZIR MIYIZ?
Akış Kontrolü ve Döngüler
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler
Diziler 4. Hafta INTERNET TABANLI PROGRAMLAMA. 2/26 Diziler Aynı adla bir çok değişken tanımlamak. $ulkeler = array(0=> "Almanya", 1 => "Ingiltere", 2=>"Fransa",
İnternet Programlama-I
BİLGİSAYAR programlama II
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği.
PHP ve HTML İnternet Programlama - 2. Koşullu İfadeler ve Döngüler Döngü ya da çevirim diyebileceğimiz, belli şart ve koşullarda istenilen değerleri yapabilmemizi.
Fonksiyonlar ve Diziler
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
4. Hafta INTERNET TABANLI PROGRAMLAMA
DİZİLER Bellekte sıralı bir şekilde bulunan ve aynı türden bilgilerin saklandığı veri yapısına dizi (array) denir. Örneğin kullanıcıdan 7 kişinin not ortalamasını.
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler
ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri
İNTERNET PROGRAMCILIĞI 2
NİŞANTAŞI ÜNİVERSİTESİ
İNTERNET PROGRAMCILIĞI 2
Milli Eğitim Bakanlığı Eğitek Haydar TUNA Teknik Öğretmen ve Yazar
Sunum transkripti:

Dizi (array) değişkenleri

Dizi değişkenleri Dizi değişkenleri oluşturulan bir değişkene sınırsız sayıda veri tanımlamaya yarayan bir değişken sistemidir. PHP de dizi değişkeni yaratmak: <?php $dizi=array(); $dizi[0]=5; $dizi[1]=6; $dizi[2]=7; $dizi[3]="napan"; // aşağıdaki şekildede yaratılabilir $aynidizi=array(5,6,7,"napan"); ?>

Dizi değişkeni Çıktısı => Array ( [0] =>5 [1] =>6 [2] =>7 [3] =>napan ) <?php $dizi=array(); $dizi[0]=5; $dizi[1]=6; $dizi[2]=7; $dizi[3]="napan"; $aynidizi=array(5,6,7,"napan"); echo "<pre>"; /* burada formatlı çıktı yaratmak için kullanılır.*/ print_r($dizi); /* print_r dizi değişkenleri tüm elemanlarıyla yazdırır.*/ print_r($aynidizi); echo "</pre>"; ?> Çıktısı =>

Anahtarı bilmeden dizi değişkene değer atama Eğer sayısal bir anahtar kullanıyor ve en son hangi anahtarda kaldığımız hatırlamıyorsak boş köşeli parantez bir sonraki sayısal boş anahtarı kullanacaktır. <?php $dizi=array(); $dizi[0]=5; $dizi[1]=6; $dizi[]=7; $dizi[]=8; ?> Yukarıdaki örnekte anahtar 7 değeri için 2 ve 8 değeri için 3 otomatik olarak atanacaktır.

Dizi değişkeni <?php $aynidizi=array(5,6,7,"napan"); ?> Yukarıda yapılan tanımlamada dizi değişken anahtarı (index) sifirdan başlar. $dizi=array(); $dizi[5]=2; $dizi["isim"]="Emre"; $dizi[102]="X"; Yukarıdaki örnekte anahtarları biz belirledik. Dizi içerisinde 3 adet eleman vardır, anahtarları bizim tarafımızdan belirlenmiştir. PHP dilinde anahtarların alışılan diğer dillerdeki gibi sıralı ya da sayısal olması gerekmez. Sadece ondalık sayılar(örnek: 9.5) anahtar(index) olarak kullanılamaz.

Dizi değişkeni <?php $müsteriler=array(); $müsteriler["adi"]="Emre"; $müsteriler["soyadi"]="Ozen"; $müsteriler["eposta"]="emre.ozen@emu.edu.tr"; ?> Yukarıdaki örnek hatasız bir örnektir.

Anahtarı bilmeden dizi değişkene değer atama Eğer sayısal bir anahtar kullanıyor ve en son hangi anahtarda kaldığımız hatırlamıyorsak boş köşeli parantez bir sonraki sayısal boş anahtarı kullanacaktır. <?php $dizi=array(); $dizi["adi"]="Emre"; $dizi["soyadi"]="Ozen"; $dizi[]=55; $dizi["eposta"]="Ozen"; ?> Yukarıdaki örnekte anahtar 55 değeri için 0 olarak, otomatik olarak atanacaktır. array_push($dizi,55); de aynı işlemi yapan öntanımlı bir fonksiyondur.

Dizi değişkenini anahtarını belirterek atama <?php $dizi=array(0=>55,1=>"Emre","X"=>56); echo "<pre>"; print_r($dizi); ?> Yukarıdaki script'in çıktısı: Array ( [0]=>55 [1]=>Emre [X]=>56 )

Çok boyutlu dizi değişkenleri Çok boyutlu dizi değişkeni, bir anahtar içerisinde değer yerine yeni bir dizi tanımlanması ile oluşur. Örneğin: <?php $ikiboyut=array(); $ikiboyut[1]=array(); $ikiboyut[1][0]=3; $ikiboyut[1][1]=8; $ikiboyut[1][2]=77; $ikibouyut[2]=array(); $ikiboyut[2][0]=55; $ikiboyut[2][1]="Emre"; $ikiboyut[2][5]=8; ?> PHP de ikinci boyutlardaki eleman sayılarınınveya anahtarlarının eşit olması zorunluluğu yoktur.

Çok boyutlu dizi değişkenleri Önceki slayttaki örneğin bir diğer yazılışı: <?php $ikiboyut=array(1=>array(3,8,77),2=>array(0=>55,1=>"Emre",5=>8)); echo "<pre>"; print_r($ikiboyut); echo "</pre>"; ?> print_r fonksiyonu boyut ne olursa olsun sonucu döndürür. Yukarıdaki script'in çıktısı: Array( [1]=>Array( [0]=>3 [1]=>8 [2]=>77 ) [2]=>Array( [0]=>55 [1]=>Emre [5]=>8 Çok boyutlu dizi değişkenleri

Dizi değişkenlerini listeleme Eğer dizi değişkeninin anahtarları sıralı sayı ise: Count() ön tanımlı fonksiyon ile değer sayısı alınır ve döngü içerisinde dizi değişken elemanlarına tek tek ulaşılabilir. Örneğin: <?php $d=array(); $d[0]="a"; $d[1]="b"; $d[2]="c"; $d[3]="d"; $sayi=count($d); for($i=0;$i<$sayi;$i++) echo "\$d[$i] -> {$d[$i]} <br/>"; ?> Çıktısı: $d[0]->a $d[1]->b $d[2]->c $d[3]->d

Dizi değişkenlerini listeleme Eğer dizi değişkeninin anahtarları bilinmiyor ise: Count() değer sayısını döndürür fakat bu sayı anahtar (index) olarak kullanılamaz. Bu tip durumlarda foreach döngüsü kullanılır. Bu döngü her dizi elemanı için otomatik olarak bir kere çalışır. Örneğin: <?php $d=array("a","b","c","d"); // her eleman için sadece değeri döner foreach($d as $deger) echo $deger.","; ?> Çıktısı: a,b,c,d, $d=array("a","b","c","d"); foreach($d as $anahtar=>$deger) // her eleman için anahtar ve değeri döner echo $anahtar." - ".$deger.","; ?> 0-a,1-b,2-c,3-d,

Dizilerde Sıralama PHP, dizileri sıralamak için kullanılabilen çeşitli işlevlere sahiptir ve bu belgede bunların kullanımları ele alınmıştır. Bu işlevler arasındaki başlıca farklar şunlardır: Bazı sıralama işlemleri dizilerin anahtarlarına göre yapılırken bazılarında değerlere göre yapılır: $dizi['anahtar'] = 'değer'; Anahtarların sayısal olarak ele alındığı durumda sıralama sonrası anahtarlarla değerleri arasındaki ilişki bozulmuş olabilir de olmayabilir de. Sıralama çeşitleri: abecesel, küçükten büyüğe (artan), büyükten küçüğe (azalan), sayısal, doğal, rasgele, kullanıcı tanımlı

Dizilerde Sıralama komutları

Sort ve Natsort arasındaki fark <?php $array1 = $array2 = array("img12.png", "img10.png", "img2.png", "img1.png"); sort($array1); echo "Standart sıralama\n"; print_r($array1); natsort($array2); echo "\nDoğal sıralama\n"; print_r($array2); ?> Standart sıralama Array ( [0] => img1.png [1] => img10.png [2] => img12.png [3] => img2.png ) Doğal sıralama [3] => img1.png [2] => img2.png [0] => img12.png

arsort ve asort <?php $array= array("z"=>"Melek", "k"=>"Hasan", "a"=>"Tezel", "c"=>"Emre"); arsort($array); echo "AR sort<br/>"; print_r($array); asort($array); echo "A sort<br/>"; print_r($array); ?> AR Sort Array ( [a] => Tezel [z] => Melek [k] => Hasan [c] => Emre ) A Sort

krsort ve ksort <?php $array= array("z"=>"Melek", "k"=>"Hasan", "a"=>"Tezel", "c"=>"Emre"); krsort($array); echo "AR sort<br/>"; print_r($array); ksort($array); echo "A sort<br/>"; print_r($array); ?> KR Sort Array ( [z] => Melek [k] => Hasan [c] => Emre [a] => Tezel ) k Sort

rsort ve sort <?php $array= array("Melek", "Hasan", "Tezel","Emre"); rsort($array); echo "R sort<br/>"; print_r($array); sort($array); echo "Sort<br/>"; print_r($array); ?> Bu örneğin çıktısındaki anahtarlara Dikkat edelim R Sort Array ( [0] => Tezel [1] => Melek [2] => Hasan [3] => Emre ) Sort [0] => Emre [1] => Hasan [2] => Melek [3] => Tezel

Çıktı: Array ( [a] => 4 [b] => 8 [c] => -1 [d] => -9 [e] => 2 [f] => 5 [g] => 3 [h] => -4 ) [b] => 8 ) <?php // Karşılaştırma işlevi function karş($a, $b) { if ($a == $b) { return 0; } return ($a < $b) ? -1 : 1; } // Sıralanacak dizi $dizi = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4); print_r($dizi); // Sıralayıp sonucu basalım uasort($dizi, 'karş'); print_r($dizi); ?> uasort

Dizi değişken içerisindeki aynı verileri listelemek. Bu iş için kullanabileceğimiz ön tanımlı fonksiyon: array_intersect dir. Bu fonksiyon değişik sayıda arrayi parametre olarak kabul edebilir. Kullanılışı: <?php $dizi1=array(2,4,6,8,7,10); $dizi2=array(11,2,9,7); $dizi3=array(9,2,7); $sonuc=array_intersect($dizi1,$dizi2,$dizi3); print_r($sonuc); ?> Çıktısı Array ( [0]=>2 [4]=>7 )

Dizi değişken içerisindeki farklı verileri listelemek. Bu iş için kullanabileceğimiz ön tanımlı fonksiyon: array_diff dir. Bu fonksiyon değişik sayıda arrayi parametre olarak kabul edebilir. Kullanılışı: <?php $dizi1=array("a"=>"green","red","blue","red"); $dizi2=array("b"=>"green","yellow","red"); $result=array_diff($dizi1,$dizi2); print_r($result);?> Çıktısı: Array ( [1] => blue )

Dizi değişken içerisinde arama yapmak Bu amaçla kullanabileceğimiz iki fonksiyon vardır. in_array : varsa doğru yoksa yanlış döndürür. array_search : varsa ilkinin anahtarını yoksa yanlış(false) döndürür. <?php $arr=array(3,45,6,89,9); if (in_array(89,$arr)) echo 'dizi değişken içerisinde 89 mevcut.'; ?> $arr=array(1=>'Mağusa',2=>'Lefkoşa',3=>'Girne',4=>'Lefkoşa'); echo array_search('Lefkoşa',$arr); // sonuç 2 dir.

Form İşlemleri

Formlar Formlar, web sayfamıza gelen kullanıcılardan bilgi almamıza yarayan nesnelerdir. HTML ile oluşturulurlar, işlenmek üzere PHP sayfalarına gönderilirler. Formlardan gelen veriyi iki değişik yöntemle işleyebiliriz. GET ve POST Formları kodlamak için HTML kullanırız.

GET Metodu Internet sayfalarında adres satırından bilgi almak için kullanılan bir yöntemdir. Örneğin: index.php?cins=haberler&no=1 ? : değişken kısmının başladığını belirtir. &: değişkenleri birbirinden ayırmaya yarar. = : değişkene değerini atamak için kullanılır. Get metodu adres satırını kullanır. Aktarabileceği veri 4000 byte ile sınırlıdır. Buda dosyaları karşıdan yüklemek (upload) için uygun değildir. Adres satırı kullanıldığı için kullanıcı adı veya şifre gibi hassas verilerin transferi için kullanılmaz(POST metodu kullanılır). (IE adres satırındaki geçmişini hatırlar.)

GET Metodu Örneğin: index.php?cins=haberler&no=1 ile çağrılan sayfanın bu iki değişkenin değerlerini alabilmesi şu şekilde olur: <?php echo 'Aranan cins='.$_GET['cins'].'<br/>'; $no=$_GET['no']; echo 'Haberin numarası $no dir.'; ?>

GET Metodu <?php if (isset($_GET['adi']) && ($_GET['adi']!='')) { echo "Merhaba <b>{$_GET['adi']} {$_GET['soyadi']}</b>"; } else ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="GET"> Adınız: <input type="text" name="adi"/> <br/> Soyadınız: <input type="text" name="soyadi"/> <br/> <input type="submit" value="Gönder"/> </form> Burada formun metodu GET ve alış yöntemi $_GET[] dir. Form elemanları <form> takısı içerisinde bulunur. Bir sayfada birden fazla <form> takısı bulunabilir. Formun adının z.php olduğunu ve girilen değerlerin Emre Ozen olduğunu varsayarsak. Adres çubuğundaki satır: z.php?adi=Emre&soyadi=Ozen olarak görünür.

POST Metodu Post metodunda veriler adres satırı ile değil http headers aracılığı ile gönderilir. Dosya aktarmaya (upload) uygun bir yöntemdir. Veri boyutu sınırı sunucu tarafında php.ini dosyası aracılığı ile kontrol edilir. Hassas verilerimiz için de GET metoduna nazaran daha güvenli ve uygundur.

POST Metodu <?php if (!isset($_POST['kadi']) || ($_POST['kadi']=='')) // post değeri olup olmadığına bakılır { ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST"> Kullanıcı adı: <input type="text" name="kadi"/> <br/> Şifre: <input type="text" name="sifre"/> <br/> <input type="submit" value="Giriş Yap"/> </form> } else { $kullanici='Emre'; $sifre='123456'; if ($_POST['kadi']==$kullanici && $_POST['sifre']==$sifre) echo 'Giriş başarılı'; else echo 'Kullanıcı adı veya şifreniz hatalı'; }?>

REQUEST komutu Önceki örneklerimizde $_GET['....'] ve $_POST['...'] komutları yerine (her iki metod için de) $_REQUEST[...] kullanılabilir. Bütün form elemanlarını ziyaret etmek için foreach döngüsünden de yararlanılablir. Örneğin bir önceki POST metodu örneğimizde verilerin çıktısı gezginimizde görebilmek için aşağıdaki döngü kullanılabilir: foreach ($_POST as $anahtar=>$veri) echo "$anahtar - $veri <br/>";