29 Nisan 2015 Çarşamba

PHP'de IF...ELSE - ELSEIF Kontrol Yapıları

Hangi programlama dili olursa olsun programın akışını kontrol etmek, gerektiği gibi yönlendirebilmek için bazı kontroller yapmamız gereklidir.  Bir program içerisinde bazı kod satırlarının, belirli şartlar sağlanmadan çalışmasını engellemek için , yada bu durumun  tersi olarak belirli şartlar sağlandığında kod satırlarının çalışmasını sağlamak  için if kontrol deyimine ihtiyaç duyulur.

IF Kontrol Yapısı  PHP'de IF yapısı kodların belli bir koşula bağlı olarak çalıştırılmasını sağlar.

Kullanımı:
if (yapılması istenen koşul veya koşullar) {   
    koşulun gerçekleşmesi durumunda yapılacak işlemler
    .
    .
    koşulun gerçekleşmesi durumunda yapılacak işlemler
}

Eğer bir IF deyiminden sonra gelen ifade sonucu TRUE olan boolean bir değer verirse, IF deyiminden sonra gelen koşulun gerçekleşmesi durumunda yapılacak işlem veya işlemler PHP tarafından çalıştırılır, aksi takdirde (FALSE bir değer geri verirse), dikkate alınmaz.

Örnek 1:  
<?php
   $islem = 2 + 2;
   if ( $islem == 4 ) {
      echo "2 + 2, 4 eder!";
   }
?>

IF...ELSE Kontrol Yapısı belirli kodları belirli şartlara bağlı olarak çalıştırmak için kullanılır. Basit bir ifadeyle eğer böyleyse şöyle yap, şöyleyse böyle yap diyebilmek için kullanılır.

Kullanımı:
if (yapılması istenen koşul veya koşullar) {
     koşulun gerçekleşmesi durumunda yapılacak işlemler
} else {
     koşul ve koşullar gerçekleşmemiş ise yapılacak işlemler
}

Örnek 2:  Sayı pozitif ise sayının kendisini ve karesini, koşulumuz karşılanmıyor ise Sayı pozitif değil mesajını ekranda gösterelim.
<?php
$sayi=-3;
if($sayi>0){
   echo "Sayı=$sayi<br>";
   echo "Karesi=",$sayi*$sayi;
}
else
   echo "Sayı pozitif değil";
?>

Örnek 3: Eğer universite değişkeni "bozok" ise ekrana doğru yazdıralım, universite değişkeni "bozok" değilse  ekrana yanlış yazdıralım.
<?php $universite = "Bozok"; if ($universite="Bozok") // eğer universite değişkeni bozok ise... { echo "Doğru"; // ekrana Doğru yazdır. } else // universite değişkeni Bozok değilse... { echo "Yanlış"; // ekrana yanlış yazdır. } ?>

Örnek 4:  Tanımlı olan kullanıcı adının (minix) ve şifrenin (666666) olup olmadığını kontrol eden php kodunu yazalım.
<?php $kullanici_adi="minix"; $sifre="666666"; if ($kullanici_adi=="minix" and $sifre=="666666") echo "Giriş Başarılı"; else echo "Kullanıcı adı yada şifre yanlış!"; ?>

IF...ELSE kontrol yapımızda koşulun gerçekleşmesi durumunda yapılacak işlemler birden çok ise süslü parantez kullanılır. Koşulumuz gerçekleştikten sonra yapılacak işlem tek komut ise süslü parantez içerisine alınma zorunluluğu yoktur.

ELSEIF Kontrol Yapısı PHP'de IF yapısında yer alan ifade yanlış sonuç verdiğinde, alternatif ifadelerin kontrolü ile farklı işlem satırlarının çalışmasını sağlamak için IF deyimi ile birlikte ELSEIF deyimini kullanabilirsiniz. ELSE deyiminden farklı olarak, ELSEIF deyimi ile ilgili işlem satırının çalışması için ELSEIF ile ilgili ifadenin doğru sonuç vermesi gerekir. ELSEIF deyimi daima IF deyimi ile birlikte kullanılmalıdır.

Kısaca IF ile birlikte birden fazla koşulu kullanmamızı sağlar.

Kullanımı:
if (yapılması istenen koşul veya koşullar)
elseif (yapılması istenen koşul veya koşullar) // if ifadesi yanlış sonuç verirse çalışır.
else // if ve elseif ifadelerinin her ikisi de gerçekleşmemiş ise yapılacak işlemler.  

Bir IF yapısı içinde birden fazla ELSEIF deyimi kullanılabilir. IF ELSEIF yapısı içinde, IF deyimi de dahil olmak üzere, doğru sonuç veren ilk ifadenin yer aldığı satır çalıştırılır. Bir ELSEIF deyimi işlem satırı, kendisinden önce gelen IF ve/veya ELSEIF deyimlerine bağlı ifadelerin tamamı yanlış sonuç verdiğinde ve kendi ifadesi doğru sonuç vediğinde çalışır.

Örnek 5:  
<?php
   $sayi_tut = 35;
if ( $sayi_tut < 34 )
  echo "Sayım 34'den küçük!";
elseif ( $sayi_tut > 34 )
  echo "Sayım 34'den büyük!";
else
  echo "Sayım 34!";
?>  

SQL'de CHARINDEX Fonksiyonu Kullanımı

Transact-SQL dilinde kullanılan önemli karakter fonksiyonlarından biriside CHARINDEX'dir. Bu fonksiyon bir karakter dize içinde belirtilen bir ifadenin (karakterin) başlangıç konumunu döndürür. Örneğin e-mailleri tutan bir alanınız mevcut, burada "@" işareti öncesi ve sonrasını belirlemede veya ',' ile ayrılmış bir karakter dizesinde virgül öncesini ve sonrasını belirlemede kullanabilirsiniz. Kısaca bir karakter kümesinin içerisinde geçen bir karakterin, bu karakter kümesinde kaçıncı karakter olduğunu bulmak için ve bir string ifade içinde başka bir string ifade aramak için kullanırız.

Kullanımı : CHARINDEX ( ifade1, ifade2[ , başlangıç konumu] )  
İfade1: Aranacak karakterleri belirtir.  
İfade2: İfade1'deki karakterlerin aranacağı karakterleri belirtir. 
Başlangıç Konumu: Aramanın başlanacağı konumu belirtir.

Döndürdüğü Tür: Int 
 
İfadelerden birisi NULL ise CHARINDEX fonksiyonu NULL değerini döndürür. İfade1, İfade2 içinde bulunamazda 0 değeri döner.

CHARINDEX fonksiyonu 2 parametre almaktadır. 1.parametredeki değerin 2.parametre olarak verilmiş değerde olup olmadığını belirtir. Kullanımı oldukça basittir. 

Örnek Sorgu 1: 
DECLARE @ornek1 varchar(255)
SET @ornek1= 'Cogito ergo Sum: Düşünüyorum, o halde varım. René Descartes'
SELECT CHARINDEX('ergo', @ornek1)
SELECT CHARINDEX(',', @ornek1) 

Örnek Sorgu 2: 
SELECT Adi, CHARINDEX('A',Adi)
AS "A Harfinin Konumu",
CHARINDEX ('a',Adi) AS "a Harfinin Konumu"
FROM dbo.Personeller

Örnek Sorgumuzda a ve A değerleri aynıdır. Aranan değerin ilk bulunduğu konumunun yeri döner. Diğer sonraki konumlar dikkate alınmaz. Yani tek karakter için büyük küçük harf ayrımı yoktur.

Örnek Sorgu 3: 
SELECT CHARINDEX ('E','Ne kadar bilirsen bil, söylediklerin karşındakinin anlayabileceği kadardır. Mevlana')
SELECT CHARINDEX ('L','Zeki adamlar söyleyecek bir şeyleri olduğu için konuşurlar. Aptallar, konuşmaları gerektiği için. Platon')
SELECT CHARINDEX ('KİMSE','Bir kimsenin düşüncesini açıklayamaması köleliktir. Euripides')
SELECT CHARINDEX ('DİY','Dünyanın ahlaksız diye adlandırdığı kitaplar dünyaya kendi utancını gösterenlerdir. Oscar Wilde') 

26 Nisan 2015 Pazar

PHP'de Operatörler

Operatörler değerler ve değişkenler üzerinde işlem yaparak düzenlememiz, sağlayan özel karakterlerdir. Tüm programlama dillerinde olduğu gibi PHP'de de standart atama operatörleri bulunmaktadır. Operatörler; aritmetik, işaret, karşılaştırma ve mantıksal olarak dört gruba ayrılır.

Aritmetik Operatörler : Temel matematiksel hesaplamaları yapmak için kullanılan operatörlerdir.

% operatörü bir sayının başka bir sayıya bölümünden kalanı vermektedir.
++ operatörü bir değişkenin değerini 1 arttırmakta kullanılır,
-- ise aynı şekilde 1 azaltmakta kullanılır.

Not: $x++ ifadesi ile ++$x ifadesi uygulamada farklı sonuçlar vermektedir. $x++ ifadesi önce $x değişkenini kullan sonra 1 arttır, ++$x ifadesi ise önce 1 arttır sonra $x değişkenini kullan anlamına gelmektedir.

Örnek 1:
<?php
$a = 5;
$b = 3;
$c = 2;
$s = $a + $b - $c;
echo $s;
?>
Örnekte çıktı olarak ekranda 6 yazacaktır.

Not: Kod üzerinde işlem önceliği aynen matematikte olduğu gibi; önce çarpma ve bölme, sonra toplama ve çıkarma işlemi şeklindedir.

Örnek 2:
<?php 
$x=10;           // x değişkeni oluşturduk ve değer olarak 10 verdik.
$y=5;            // y değişkeni oluşturduk ve değer olarak 5  verdik.
$carpma=$x*$y;   // carpma değişkenimizi oluşturduk ve değişkenlerimizi çarptık.//
$toplam=$x+$y;   // toplam değişkenimizi oluşturduk ve değişkenlerimizi topladık.//
$cikarma=$x-$y;  // cikarma değişkenimizi oluşturduk çıkarma işlemini gerçekleştirdik.//
$bolme=$x/$y;    // bolme değişkenimizi oluşturduk bölme işlemini gerçekleştirdik.//
$kalan=$x%$y;    // kalan değişkenimizi oluşturduk ve mod operatörü ile kalanı bulduk.//
echo"Çarpım : $carpma <br>"; 
echo"Toplam : $toplam <br>"; 
echo"Çıkarma : $cikarma <br>"; 
echo"Bölme : $bolme<br>"; 
echo"Kalan : $kalan<br>";
?>
Örnek 2 çıktısı:
Çapım : 50
Toplam : 15
Çıkarma : 5
Bölme : 2
Kalan : 0


25 Nisan 2015 Cumartesi

PHP'de Değişken Öldürme (unset)

PHP'de büyük değerleri taşıyan her bir değişken sunucudaki RAM'de belirli bir yer tutacağından değişkenleri öldürmemiz gerekir. Kısaca Değişken Öldürme = $degişken değerini silmektir. 

Örnek 1:Bir değişkeni unset edelim.
<?php
$soyad="BAYRAKTAR";
echo $soyad; 
//şimdi değişkenimizi öldürelim
unset($soyad);
?>
Örneğimizde $soyad değişkenimizi tanımladık ve değişkenimize "BAYRAKTAR" değerini atadık. unset komutunu kullanarak değişkenimizi öldürdük. Yani değişkenimizin RAM'de kapladığı alanı silmiş olduk.Burada unutmamız gereken kısım oluşturduğumuz her değişkeni öldürmemiz gerektiği değil yüklü verilerin tutulduğu değişkenlerin program akışı içerisinde kullanım alanı bittiğinde öldürülmesi gerektiğidir.

Örnek 2: Birden fazla değişkeni unset edelim.
<?php
$soyad="BAYRAKTAR";
$ad="İBRAHİM";
$website="www.ibrahimbayraktar.net";
unset($soyad,$ad,$website);
echo $website;
?>
Örneğimizde birden fazla tanımlamış olduğumuz değişkenlerimizi unset komutu içerisine virgülle ekleyerek değişken öldürme işlemimizi gerçekleştirdik.

PHP'de Sabitler (Constants)

PHP'de sabitler, basit bir değerin adı olup PHP kodlarının çalışması esnasında değiştirilemez. sabitler öntanımlı olarak büyük-küçük harf duyarlıdır. Geleneksel olarak, sabit isimleri daima büyük harfle yazılır. Sabit adı bir harf veya alt çizgi karakteri ile başlamalı ve harf, rakam ve alt çizgi karakterlerinden oluşan ifadelerle devam etmelidir. Sabitlerin kullanım amacı programda herhangi bir değerin değişmesini engellemektir. Sabitler sadece bir kez tanımlanıp bir daha değiştirilemediği için güvenlidir.

Bir Sabit Tanımlayalım:
Bir sabit tanımlamak için define() fonksiyonunu veya const anahtar kelimesini kullanabilirsiniz. Bir sabiti tanımladıktan sonra değiştiremez veya tanımsız hale getiremezsiniz. Sabitlerin değişkenlerden en büyük farkı; bir kez tanımlandıktan sonra değiştirilememeleri ve tüm PHP kodları içinde otomatik bir şekilde global olarak değerlendirilmelidir.

Örnek 1:
<?php
define('bayraktar', 'ibrahimbayraktar.net');
// bayraktar adında bir sabit oluşturduk ve değerini ibrahimbayraktar.net yaptık  
?>

Bir sabite verilen isim PHP'de varolan diğer tüm isimlerle aynı kurallara tabidir. Geçerli bir sabit ismi bir harfle ya da alt çizgi imi ile başlar, herhangi bir sayıda harf, rakam ya da alt çizgi ile devam eder. Sabitler içine boolean, integer, float ve string değerler atanabilir. Sabiti tanımladıktan sonra, sabitin ismini kullanarak sabit değerine erişebilirsiniz. Adını bildiğiniz bir sabitin değerini dinamik olarak almak için constant() fonksiyonunu ve tanımlanmış tüm sabitlerin bir listesini almak için ise get_defined_constants() fonksiyonunu kullanabilirsiniz.

Örnek 2:
<?php      
define("pi",3.14);
echo pi;     
?>

const anahtar kelimesi ile bir sabit tanımlayalım:
<?php 
const UNIVERSITE= "BOZOK"; 
?>
const anahtar kelimesi ile tanımlanan sabitlerin isimlerinin tırnak içinde yazılması zorunlu değildir. define() fonksiyonu ile tanımlanan sabitlerle bir istisna dışında aynı kurallara tabidir ve aynı özellikleri taşır. Bir sabit define() ile programın herhangi bir yerinde tanımlanabilirken const ile tanımlanan sabitler; fonksiyonlar, akış denetimleri, döngüler gibi iç bloklarda değil programın en üst seviyesinde tanımlanmalıdır. Bunun nedeni const ile tanımlanan sabitlerin derleme zamanı ele alınmasıdır.

defined() işlevi ile bir sabitin tanımlanıp tanımlanmadığına bakalım: 
<?php 
define('bayraktar', 'ibrahimbayraktar.net');
echo defined('bayraktar'); 
?>
Örnekte çıktı olarak ekranda 1 yazacaktır, "1" sonucun olumlu olduğunu göstermektedir. Sonuc olumsuz ise ekranda bir şey yazmayacaktır.

Copyright 2013-2017 | İbrahim BAYRAKTAR /dev/null Web Günlüğü