|
Webmaster Genel kategorisinde açılmış olan PHP Dört Yararlı Fonksiyon konusu , ...
| LinkBack | Seçenekler | Arama | Stil |
15.07.2013, 16:08 | #1 (permalink) |
Root Administrator | PHP Dört Yararlı Fonksiyon PHP Dört Yararlı Fonksiyon Dört yararlı fonksiyon PHP’de değişken değer türü değiştirmekte kullanabileceğimiz kullanılmaya hazır fonksiyon vardır ilerde döngüleri ele aldığımızda daha çok anlam kazanacak olan bu değişkenleri şimdilik bir kenara kaydedin: isset() ve unset() PHP bir değişken tanımlandığı anda sanki içinde değer varmış gibi bilgisayarın belleğinde yer ayırır Bu bazen bilgisayarın kıt kaynaklarını zorlayabilir isset() fnksiyonu PHP’nin bir değişkenin içinde değer bulunup bulunmadığını sınamasını sağlarunset() ise varolan bir değişkeni yok eder Bu iki fonksiyonu birlikte kullanabiliriz ve boş değişkenleri yok ederek bilgisayarın belliğinde yer açabiliriz: if (isset($bir_degisken)) { print( $bir_degisken ); } else { unset($bir_degisken); } Bu kod parçası $bir_degisken isimli dğişkenin içi boş değişse içeriğini görüntüleyecek içi boş ise varlığına son verecektir empty() isset() fonksiyonun tersi işleve sahiptir; bir değişkene değer atanmamışsa veya değeri sıfır veya boş alfanümerik (null string) ise doğru (True) değeri verir $bir_degisken = 123; echo empty($bir_degisken); $bir_degisken = “”; echo empty($bir_degisken); Bu program parçası Browser penceresine sadece empty() fonksiyonun doğru sonuç verdiği birinci echo() deyiminde 1 yazdıracaktır is_string()is_integer()is_double() Sınadıkları değişkenin aradıkları türden değer içermesi halinde doğru ‘True) sonuç verirler <?php $a = 6567; if (is_double($a)) { print (“A Double’dır<br>”); } $b = “Reşit”; if (is_double($a)) { print (“B String’dir<br>”); } $c = 6; if (is_int($c)) { print (“C Integer’dır<br>”); } ?> Bu kod Browser penceresine “A double’dır B String’dir C Integer’dır” yazdıracaktır PHP’de bu fonksiyonlara benzeyen fakat başka tür değer arayan şu fonksiyonlar da vardır: is_array() is_object intval() doubleval() doubleval() Bir değişkenin değerinin türünü başka bir türe çevirmeye yararlar intval() ortaya çıkartacağı tamsayı değişkenin 10 tabanlı (decimal) veya 16 tabanlı (hexadecimal) olmasını sağlayan ikinci bir argüman alabilir: <?php $a = “123ABC”; $b = inval($a 16) print ($b); ?> Bu program Browser penceresine 123′ün hexadecimal ifadesi olan “1194666″ yazdıracaktır İşlemciler (Operatörler) Yukarıdaki örnekleri birlikte yaptıysak = işaretini bol bol kullandık ve böylece PHP’nin bir çok operatöründen biriyle tanıştıkBuna PHP dilinde “atama operatörü” denir Bu işlemci sadece yukarıda kullandığımız gibi bir değişkenin bir değere eşitliğini ilan etmek amacıyla kullanılmaz Örneğin: print ( $sayi = 123 ) ; ifadesinde olduğu gibi bir fonksiyonun içinde de hem atama işlemi yapılabilir; hem de işlem yürütülür PHP’nin aritmetikbirleşik-atama birleştirme karşılaştırma ve mantıksal sınama operatörleri vardır Aritmetik işlemciler: + Toplama 6+5 = 11 - Çıkartma 6-5 = 1 / Bölme 6/5 = 12 * Çarpma 6*5 = 30 % Kalan (Modulus) 6%5 = 1 Aritmetik işlemleri gerçek sayılarla yaptığımız gibi tuttuğu değer sayı olan değişkenlerle de yapabiliriz Daha önce PHP’de değişken tanımlar ve bunlara değer atarken sayı olan değişkenleri tırnak işareti kullanmadan alfanümerik değişkenleri ise tırnak içinde yazdığımızı hatırlayacaksınız Bu geleneksel hale gelmiş olan bir programcılık alışkanlığıdır PHPtırnak kullanmasanız da bir değişkenin sayı olup olmadığını anlar; daha sonra bu değişkenlerle aritmetik işlem yapabilir PHP ayrıca rakamla başlayan alfanümerik değişkenleri sayı olarak kullanmaya kalktığınızda bu değerin başındaki bütün rakamları sayı olarak kabul eder PHP açısından harf veya işaretle başlayan alfanümerik değişkenlerin sayı olarak değeri sıfırdır Örnek: $a = 6; $b = “22/A” print ($a + $b) sonuç olarak 28′i verecektir; veya $a = 6; $b = “A/22″ print ($a + $b) sonuç olarak 6 çıkacaktır Bu küçük deneyi yaparsanız PHP ile program yazarken hangi değişkenin ne sonuç vermesi gerektiğini dikkatle düşünmek zorunda olduğunuzu görürsünüz Bir kişinin geliri ile adresini toplamak programcı olarak arzu ettiğiniz bir işlem olmayabilir! Bununla birlikte elimizde bir kişinin adı ve soyadı ayrı değişkenler halinde ise bunları birbirine ekleyerek (concatenation) ortaya yeni bir alfanümerik değişken çıkartabiliriz: <?php $adi = “Reşit”; $soyadi = “Muhtar”; $adi_soyadi = $adi ” ” $soyadi; print (“<br>”); print ($adi_soyadi); print ($adi “‘nın soyadı ” $soyadi “‘dir”) ?> Bu örnekte sadece ekleme yoluyla yeni bir değişken oluşturmakla kalmıyoruz; fakat alfanümerik değişkenleri başka metinlerle de birbirine ekleyebildiğimizi görüyoruz Bu işlemi nokta işaretiyle () yapıyoruz Bu işlemciyle sadece değişkenlerin değerlerini değil fakat metinleri de birbirine ekleyebiliriz: <?php print (“İyileri iyikleri ile alkışla; ” “…” “ve sen soluklarında daima Mesîh ol! “) ?> PHP’nin atama işlemcisinin eşittir (=) işareti olduğunu hatırlıyorsunuz birleşik-atama (combined-assignment) işlemcileri bu işarete diğer aritmetik işlemciler eklenerek oluşturulur İşlemci Örnek Anlamı += $a += 5 $a = $a + 5 -= $a -= 5 $a = $a – 5 /= $a /=5 $a = $a / 5 *= $a *= 5 $a = $a * 5 %= $a %= 5 $a = $a % 5 = $a = “metin” $a = $a” metin” Bu işlemi zihnimizde “A değişkeninin mevcut değerine 5 ekle çıkan sonucu A değişkenin yeni değeri yap!” şeklinde canlandırabiliriz Bir Arttırmak veya Azaltmak için Değerleri sadece 1 arttırmak veya azaltmak için PHP bir kolaylık sağlar: $a++veya ++$a: $a’nın değerini 1 arttırır; $a–veya –$a: $a’nın değerini 1 eksiltir ++ veya — işaretinin değişken adından önce veya sonra olmasının sonucu farklı olur İşaretler değişkenin adından önce ise PHP önce değişkenin değerini bir arttırır veya eksiltir sonra bu yeni değeri işleme katar; işaretler değişken adından sonra isePHP değişkenin o andaki değerini işleme kadar sonra değeri bir arttırır veya eksiltir PHP’nin karşılaştırma yapması için kullandığımız işlemciler ise işlem işaretinin sağı ve solundaki değerleri veya değişkenlerin değerlerini işaretin belirttiği karşılaştırmayı yaptıktan sonra ortaya ya doğru (true) ya da yanlış (false) sonucunu çıkartırlar Söz gelimi değeri 6 olan değişkenin 5′ten büyük olup olmadığını sınarsak sonuç doğru; 5′ten küçük olup olmadığını sınarsak sonuç yanlış çıkacaktır PHP’nin karşılaştırma işlemcileri şunlardır: İşlemci Örnek Örnek $a=6 ise: == eşitse $a == 5 Yanlış/False != eşit değilse $a != 5 Doğru/True === aynı ise $a === 5 Yanlış/False > büyükse $a > 5 Doğuru/True < küçükse $a < 5 Yanlış/False <= küçükse $a <= 5 Yanlış/False veya eşitse >= büyükse $a >= 5 Doğru/True veya eşitse PHP’nin karşılaştırma işlemcileri hem tam ve ondalık sayı türü değerlerle hem de alfanümerik değerlerle kullanılabilir Daha ileri aşamalarda bazen değişkenlerimizin karşılaştırmasının bu kadar basit olamayacağını; kimi zaman iki grup değişkenin karşılaştırılması gerektiği durumların bulunduğu göreceğiz Diyelim ki bir öğrencinin başarılı sayılması için hem vize notunun hem de yılsonu sınav notunun belirli sayılardan büyük olması gerekiyor Bu durumu ancak karmaşık-mantıksal sınamadan geçirmemiz gerekir Bu sınamayı iki ayrı sınama sonucu ile birlikte kullanırız Örneğin: vize notu yeterli – final notu yetersiz = kalır (yanlış/false) vize notu yeterli – final notu yeterli = geçer (doğru/true) PHP’de bu karşılaştırmayı iki grubun arasına koyduğumuz işaretlerle yaparız İşaretin sağ ve sol tarafının doğruluğu veya yanlışığı işarete göre nihai sonucun doğru veya yanlış olmasını sağlar Bu karşılaştırmaları yaparken şu işlemcileri kullanırız: İşlemci Adı Anlamı Örnek || veya sol veya sağ doğru doğru || yanlış = doğru or veya sol veya sağ doğru doğru || yanlış = doğru && ve sol ve sağ doğru doğru || yanlış = yanlış and ve sol ve sağ doğru doğru || yanlış = yanlış Xor Şartlı-veya Sadece sol veya sağ doğru doğru || yanlış = doğru ! Değil sol veya sağ yanlış doğru || yanlış = doğru “veya” ve “ve” sınamaları için iki ayrı işlem işareti bulunmasının sebebi PHP’nin işlem sırasıyla ilgilidir Birazdan oraya geliyoruz Şimdi kavranması kolay olmayan ikili mantıksal sınamalara bir örnek verelim; yukarıda öğrencinin durumunu PHP komutu olarak yazalım <?php $vize = 45; $final = 65; if ($vize >= 50 && $final >= 50) { print (“Öğrenci geçti!”); } else { print (“Öğrenci kaldı!”); } ?> Mantıksal karşılaştırma işlemleri daha da karmaşık olabilir Örneğin öğrencinin geçmiş sayılması için yılsonu vize ve final notlarının 45′dan yüksek ve ya birinci sömester notunun ya da vize ve final notlarının ortalamasının 65′den yüksek olması şartı aranabilir (Kabul; kötü bir örnek oldu Ama sırf alıştırma için!) Bu durumda kodu şöyle yazmamız gerekirdi: <?php $vize = 45; $final = 65; $ilk_sem = 45; $ortalama = ($vize + $final) / 2; if (($vize >= 45 && $final >= 45) and ($ilk_se >= 65 || $ortalama >= 65)) { print (“Öğrenci geçti!”); } else { print (“Öğrenci kaldı!”); } ?> Burada PHP önce || veya && işaretinin sonucunu bulacak sonra and veya or işlemcisinin gereğini yapaçaktır Bu kodun vereceği sonucu bilgisayarda çalıştırmadan tahmin edebilir misiniz? İpucu: Bu öğrencinin yerinde olmak istemezdim! İşlem önceliği deyince Bütün programlama dilleri gibi PHP için de işlemlerin hangi sırada yapıldığı önem taşır “5 + 4 * 2″ işleminin sonucu önce 5 ile 4′ün toplanması ve sonucun 2 ile çarpılması halinde başka 4′ün 2 ile çarpılması ve sonucun 5 ile toplanması halinde başka olacaktır Bu bakımdan PHP’nin hangi işlemi önce yaptığı hangi işlemi sonra yaptığını bilmemiz gerekir PHP’deki işlemlerin yapılış sırası şöyledir: ++ ve – / * % + - < <= => > == === | = && || = += -= /= %= = and xor or r |
Yukarı'daki Konuyu Aşağıdaki Sosyal Ağlarda Paylaşabilirsiniz. |
| |
Forum hakkında | Kullanılan sistem hakkında |
| SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc. |