|
HAZIR FONKSİYONLAR Diğer programlama dillerinde olduğu gibi Php’ de de çeşitli hazır fonksiyonlar vardır. Örneğin; o Gettype($degisken); fonksiyonu, parametre olarak verilen değişkenin türünü belirtir. o Settype($degisken,tür); fonksiyonu, parametre olarak verilen değişkenin türünü belirtilen türe dönüştürmeye yarar. Şimdi bunlarla ilgili olan şu örneği inceleyelim. Örnek3:
Bunun sonucunda web tarayıcınızda “$degisken’in türü string’tir. Tür değiştirince $degisken’in türü integer olur.” yazacaktır. o Isset(); değişken içinde değer bulunup bulunmadığını sınar. o Unset(); var olan değişkeni yok eder. o Empty(); eğer bir değişkene değer atanmamışsa veya değeri 0 ya da boş alfanümerik (null string) ise doğru (True) değeri verir. o Is_string(), is_integer(), is_double(), is_array(), is_object(); sınadıkları değişkenlerin aradıkları türden değer içermesi halinde doğru (true) sonuç verirler. Şimdi bu fonksiyonların hepsini kullanabileceğimiz bir program yazalım. Örnek4:
Bunun sonucunda ekranda “Bu değişken çoktan dolmuş! $degisken’in degeri: “pinar”” yazacaktır. Bir sonraki makalede işaretçileri sınıflayacağız ve çeşitli örneklerle bunları kullanmayı öğreneceğiz.
|
|
DİZİLER ÜZERİNDE YAPILAN İŞLEMLER Dizi Birleştirme Dizileri birleştirme işlemi array_merge() fonksiyonu ile yapılır.
Sayfa açıldığında ekranda şöyle bir görüntü olacaktır: Görüldüğü gibi içeriği birbirinin aynı olan iki dizi arka arkaya eklenmiş durumda. Burada 2 adet çok boyutlu dizi tanımlandıktan sonra, array_merge() fonksiyonunda diziler birleştiriliyor. İç içe foreach fonksiyonları ile de oluşan yeni dizinin içeriği ekrana gönderiliyor. Dizilere Değişken Ekleme-Silme Dizilere değişken eklemek için array_push() fonksiyonu, ilk elemanını silmek için ise array_shift() fonksiyonunu kullanırız.
Sayfa açıldığında ekranda şöyle bir görüntü olacaktır: Örnekte görüldüğü gibi $ogrenciler dizisine array_push() fonksiyonu ile yeni elemanlar ekledik. Dizinin son halini ekrana yazdırdıktan sonra array_shift() fonksiyonu ile dizinin ilk elemanını sildik ve silinen elemanın aktarıldığı değişkenin içeriğini ekrana yazdırdık. Dizilerin İçeriğini Sıralama İlişkili olmayan dizilerde sort() ve rsort(), ilişkili dizilerde ise asort() ve ksort() fonsiyonları kullanılır. Örnek 1:
Sayfayı açtığımızda ekranda şöyle bir görüntü olacaktır: Örnek 2:
Sayfayı açtığımızda ekranda şöyle bir görüntü olacaktır: Diziden Kesit Alma Diziden kesit almak, array_slice() fonksiyonu ile mümkündür.
Sayfayı açtığımızda ekranda şöyle bir görüntü olacaktır:
Dizilerin elemanlarının endeks numarası 0’dan başlar. $kesit=array_slice($ogr,2,4); kod satırında $ogr dizisinin elemanlarının endeks numaraları 0’dan 2’ye kadar sayılır ve 3. olan elemandan sonraki 4 adet eleman kopyalanır ve $kesit değişkenine aktarılır. Yani $ogr dizisinin içeriği değişmez.
|
|
DİZİLER Dizi aslında birden fazla değeri içine alabilen, istediğimiz zaman bu değişkenleri toplu olarak çağırabildiğimiz ya da içeriğini değiştirebildiğimiz bir değişkendir. PHP’de dizi oluşturma, “array” ifadesi ile yapılır.
Bu satırları çalıştırdığınızda ekranda www.bilyaz.com yazacaktır. Bu tek boyutlu bir dizi olduğu ve elemanları az olduğu için bu şekilde tek satırlık bir kodla içeriğindeki elemanları çağırabiliyoruz. Fakat çok boyutlu ve elemanı fazla olan dizilerin içeriğini farklı bir yöntemle çağırabiliyoruz: döngüler ile… Bunu daha sonra göreceğiz. Diziye eleman atarken her zaman array komutu kullanmaya gerek yoktur. Eğer angarya işe razıysanız aşağıdaki gibi her bir elemanı teker teker diziye atabilirsiniz.
İnternet Explorer’da sayfayı açtığınızda ekranda sadece Aslı yazacaktır. Çünkü sadece dizinin “ Bir de dizilerde bazı elemanları değiştirmek veya eklemek isteyebiliriz.
Sayfayı çalıştırdığınızda ekranda şunun gibi bir görüntü oluşacaktır: Burada dizinin ilk elemanını değiştirdik, diziye 6., 9. ve 10. elemanları ekledik. Dikkat ettiyseniz arada boş elemanlar oluştu. Şimdiye kadar gösterdiğim tek boyutlu dizide her satıra sadece bir değer atadık. Bu atadığımız değer yanında başka değerler de atayarak bu değerle ilişki kurdurtabiliriz. Böyle dizilere “ilişkili diziler” denir.
Sayfayı açtığınızda ekranda Burhan yazacaktır. Burada $dizi dizi değişkeninin 2 ayrı değeri (endeks) var: adi ve soyadi. Şimdiye kadar sadece tek boyutlu dizilerle uğraştık. Şimdi çok boyutlu dizileri öğreneceğiz. Çok Boyutlu Diziler
Yukarıdaki tabloyu bir “çok boyutlu ilişkili dizi” gibi düşünebiliriz. Çok boyutlu diziler, birden fazla satırdan oluşan, geniş hacimli birbiriyle ilişkili değerleri içerebilir. Çok boyutlu bir dizi şu şekilde oluşturulur:
Örnek:
Sayfayı açtığınızda aşağıdaki gibi bir görüntü karşınıza çıkacaktır. Burada iç içe geçmiş foreach döngüsü, çok boyutlu dizinin içeriğini almada kullanılır. İlk döngüde $ogrenciler dizi değişkeni kaynak olarak alınır ve içeriği geçici olarak $ogrenci değişkenine aktarılır. İkinci döngüde $ogrenci değişkeninin içeriğindeki anahtar değer çiftlerini teker teker $anahtar ve $deger değişkenlerine atılır. Daha sonra da ekrana $anahtar=$deger yazdırılarak ilişkili dizinin içeriği aktarılmış olunur.
|
|
FONKSİYONLAR Fonksiyonları program içinde bir kez tanımlarız ve işimize yarayacağı zaman defalarca çağırıp işlem yaptırabiliriz. Bu, her seferinde işlemi tekrar tekrar yazmaktan ve gereksiz kod yığınından bizi kurtarır. Bazı sitelerde ÖSS ya da KPSS puanı hesaplama araçlarını görmüşsünüzdür. Bu araçlar, bir programın içerisindeki fonksiyonlardan ibarettir. Kullanıcı gerekli yerlere değerleri girer, program bu değerleri fonksiyona iletir, fonksiyon, ilgili işlemleri yapar ve sonucu programa iletir. Bu sonuca “fonksiyonun döndürdüğü değer” denir. Bu fonksiyonları ellerimizle tanımlayacağımız gibi mevcut bulunan hazır fonksiyonları da kullanabiliriz. Print(), echo(), gettype(), isset(), empty() şimdiye kadar gördüğümüz hazır fonksiyonlardan sadece birkaçı. Şimdi fonksiyonlara dair örnek programlar yazalım. Örnek:
Örnek:
Örnek:
Örneğimizde gördüğünüz gibi $a ve $b değişkenlerinin değerlerini fonksiyonun dışında vermiştik. Ama fonksiyonlar, tanımlandıkları bölgenin dışındaki değişkenlerin değerlerini kullanamazlar. Bu sorunu çözmek için fonksiyonun içerisine “global $a, $b;” yazarak global değişkenleri fonksiyonun içerisinde kullanması için istekte bulunuyoruz. Bazen fonksiyon içerisindeki değişkenimizin değerinin fonksiyon her çağırılışında bir önceki değerini hatırlamasını isteriz. (Yani fonksiyonun çalışması bittikten sonra o değişkenin değerini bir sonraki çağrılışında hatırlaması.) Bunun için de fonksiyon içerisindeki değişkenlerin başına “static” ibaresini yazarız. Örnek:
Sayfayı açtığınızda karşınıza alt alta 1 den 4 e kadar ardışık bir sayı dizisi gelecektir. Fonksiyonu 4 kez çağırdık ve fonksiyon “static” ibaresi sayesinde her seferinde değişkenin bir önceki değerini hatırladı ve işlemlerini ona göre yaptı. |
|
IF VE SWİTCH DEYİMLERİ If Deyimi: If deyimi ile belirlenmiş koşullar doğrultusunda bir karar alma süreci gerçekleştirilir.
Programın akışına göre ilk önce şartlar doğru ise ilk süslü parantezin içindeki komutlar gerçekleştirilir. Eğer ilk koşullar doğru değilse Elseif’teki ikinci koşulları gözden geçirilir. Eğer bu koşullar doğru ise bu süslü parantezin içindeki komutlar icra edilir. Eğer bu koşullar da doğru değilse else’in altındaki süslü parantezin içerisindeki kodlar icra edilir. Şimdi örnek bir program yazalım. Örnek:
Örneğin bir çevrimiçi eğitim materyalinin girişinde isim soyisim yazılması zorunudur. Örnekte görüldüğü gibi, if deyimi kullanıcının ismini yazıp yazmadığını kontrol etmesi açısından kullanılabilir. Switch Deyimi: Switch deyimi, verilen değişkenin verilen koşullardan hangisine uygun olduğunu sınar ve o koşulan sonra verilen komutları gerçekleştirir.
Buradaki break ifadesi, koşulu doğru ise komutlar gerçekleştirildikten sonra diğer koşullar doğru olmayacağı için denetlenmeden switch deyiminden çıkışı ifade eder. Örnek:
Örnekte verilen şarkıya tıklayan kullanıcı, o şarkının türünü öğrenmektedir. Şarkının türü, bir değişkene aktarılmıştır. Switch yapısı ile program, bu tür ile eşleşen koşulları kontrol eder. Eğer koşul uygunsa onun altında bulunan yazıyı yazar. Programı çalıştırdığınızda ekrana “Tıkladığınız şarkının türü Rock” yazacaktır. Eğer değişkendeki tür hiçbir türe uymasaydı “Tıkladığınız şarkının türü bilinmiyor…” yazacaktı. Switch deyimi ayrıca kısaca da ifade edilebilir. Bu ifade sadece bir şarta uygunluk için kullanılır.
Burada program kullanıcı ismini yazmamışsa ilk cümleyi, yazmışsa ikinci cümleyi echo ifadesi ile ekrana yazar. |
|
DÖNGÜLER While Döngüsü: Koşul sağlanmayana kadar aynı işlemi gerçekleştirir. Fakat her seferinde değişkenin ve koşulun içeriği değişir.
Örnek:
Program, while döngüsü içerisinde koşul sağlanmayana kadar yani koşullar sağlandığı sürece yazıyı yazdırdıktan sonra sayacı bir artırır. Yoksa sayaç aynı sayıda kaldığı sürece aynı yazıyı sonsuza kadar yazdırır ve sayaç asla 4 e ulaşamaz. Programı çalıştırdığınızda 1’den 10!a kadar olan sayıları alt alta boyutlarını büyüterek yazacaktır. Do While: While döngüsünün tam tersidir. Komutlar gerçekleştirildikten sonra koşulların uygunluğu kontrol edilir.
Örnek:
For Döngüsü: Döngünün belirli sayıda olması gerektiği zaman kullanılır. While döngüsünde sayacı kendimiz 1 er artırmıştık. For döngüsü ise sayıyı kendisi artırır.
Örnek:
For döngüsü $say değişkeni 10 oluncaya kadar çalışır ve 10 olunca sonra erer. Yani 11 sayısı şartı sağlamadığı için döngü devam etmez. Programı çalıştırdığınızda 1’den 10!a kadar olan sayıları alt alta boyutlarını büyüterek yazacaktır. Örnek:
$tekrar değişkenini kullanıcıdan form yoluyla aldığımızı varsayalım. Eğer kullanıcının girdiği değer 0’a eşit ve 0’dan küçükse (bu ifade if deyimi ile kontrol ediliyor) programın döngüden çıkması sağlanır. Örnek:
$say değişkenini kullanıcıdan form yoluyla aldığımızı varsayalım. Eğer kullanıcının girdiği değer 0’a eşit ve 0’dan küçükse (bu ifade if deyimi ile kontrol ediliyor) programın döngüden çıkmadan başa dönerek döngüyü yeniden başlatması sağlanır. Bu değer her seferinde 1 artar. Bu süreç kullanıcının girdiği değer 0’dan büyük olana kadar devam eder. Değer 0’dan büyük olduğu andan itibaren gerçekleştirilmesi gereken kodlar gerçekleştirilir ve döngüye devam edilir. |
|
İŞLEMCİLER(OPERATÖRLER) İşlemciler çeşitli sınıflara ayrılmışlardır. Özel İşlemciler: İşlemciye yönelik özel anlamları vardır.
Aritmetik işlemciler: Bu işlemciler matematiksel işlemleri mümkün kılar.
Örnek:
İlişkisel İşlemciler: İki değişkeni karşılaştırmaya yarar. İşlemin sonucu 0 ya da 1’dir.
Birleşik Atama İşlemcileri, aritmetik işlemcilere atama işlemcisinin eklenmesi ile oluşturulur. Bunlar şu şekildedir: İşlem: Açılımı:
Birleşik atamaya stringler için bir örnek verelim: Örnek:
Örneğimizde string ifadeleri . işlemcisi ile birbirine ekleyebileceğimiz gösteriliyor. Bunu birleşik atama olarak da yapabildiğimiz açıkça belirtilmiş. İşlem sırası: Bazen işlemleri karışık matematik hesapları yapmak isteyebiliriz.
Bu örnekte işlemin sonucu acaba kaç çıkacaktır? PHP, sonucu 32 olarak bulacaktır çünkü dört işlemde ve diğer programlama dillerinde olduğu gibi PHP’de de işlem sırası vardır. PHP’de işlemlerin yapılış sırası şöyledir:
Mantıksal İşlemciler:
Şimdi mantıksal işlemcileri kullanabileceğimiz bir örnek yapalım. Örnek:
|

Son Yorumlar