MultiServis.Net //PHP El Kitabı

<<= Önceki Sayfa | PHP Ana Sayfa | Sonraki Sayfa =>>

PHP'de Degisken Islemleri - BOLUM 2 Yazar: Serkan Tarih: 01/04/02

Degisken tanimlamak ve onu baslatmak

PHP'de (=) esittir operatoru bir degiskene deger atamak icin, (==) iki tane yan yana esit isareti ise "esitligi" sinamak icin kullanilir.

Ornek :

$satir_sayisi = 10;
$urun = "Araba Lastigi";
$fiyat = 22.00;
$nakliye = 5.00;
$toplam = $fiyat + $nakliye;

Yukarida gorulen orneklerde sol tarafta "dolar" isareti ile verilen degisken,ortada bir esit isareti ve en sagda o degiskenin degeri gorulmektedir.Noktali virgul isareti (;)satirin bittigini belirtmek icin kullanilmalidir.

Degisken'in veri tipi:

PHP'de, diger programlama dillerinde oldugu gibi degiskenin icinde saklayacagi veri tipini onceden belirlemenize gerek yoktur.Degiskenin sakladigi degerden, verinin tipi otomatik olarak algilanir.Bu algilama degere bakilarak yapilir.

Ornek:

$a = 1; //$a tam sayi (integer) tipinde bir veri saklamaktadir.

$a = 1.2; //$a ondalik sayi (double) tipinde bir veri saklamaktadir.

$a = "A"; //$a duz yazi (string) tipinde bir veri saklamaktadir.

Simdi verilen ornekleri biraz daha cogaltalim ve sonuclari degerlendirelim :

$a = 1; //$a tam sayi (integer) tipinde bir veri saklamaktadir.

$b = 1.0; //$b ondalik sayi (double) tipinde bir veri saklamaktadir.

$c = $a + $b; //$c Bir ondalik sayi degeri saklamaktadir.(Deger:2.0)

$d = $c + "6th"; //$d bir ondalik sayi saklamaktadir.(Deger:8.0)

Simdi de donusumlere bakalim :

$a = 11.2; //$a bir ondalik sayi (double) saklamaktadir.

$a = (int) $a; //$a artik bir tam sayi degeri saklamaktadir.(Deger:11)

$a = (double) $a; //$a tekrar ondalik veri tipinde veri saklamaktadir.(Deger:11.0)

$b = (string) $a; //$b simdi bir duz yazi tipinde veri saklamaktradir.(Deger:"11")

Degisken Degiskenler :

PHP'de degisken degiskenleri kullanmaniza izin verilmistir :

Ornek:

$alan = "UrunNo";
$$alan = "432BB";

echo ($UrunNo); //Bu komut ekrana 432BB yazdirir.

echo ($$alan); // Bu komut ekrana 432BB yazdirir.

gettype () hazir fonksiyonu ile degiskenin veri tipini dondurmek:

Bu hazir ile fonksiyon'a argument olarak verilen degiskenin veri tipi dondurulur.Asagida fonksiyonun dondureebilecegi degerlerin bir listesi yer almaktadir :

> - "integer"
> - "double"
> - "string"
> - "array"
> - "object"
> - "class"
> - "unknown type"

integer : tam sayi
double : iki kisimdan olusan (tam ve ondalik olarak) sayi
string : duz yazi
array : dizi
object : nesne
class : sinif
unknown type : bilinmeyen tip

Ornek :

> if (gettype($degisken) == "integer") {
> $yas = $degisken;
> }

> Ilgili fonksiyonlar : isset () ve settype ()

> settype () fonksiyonunu kullanarak degisken icin belirli bir veri tipini tayin etmek

> Ornek :

> $a = 7.5; //$a bir ondalik sayidir dolayisi ile veri tipi "double" dir.

> settype ($a, "integer"); //$a simdi bir integer ve degeri 7

> Eger donusum basarili olursa yapisal bir sonuc degeri olan "true" yani dogru, basarisizlik halinde "false" yani yanlis degeri doner.

> Ornek :

> > if (settype ($a, "array")) {
> > echo ("Donusum basarili sekilde gerceklesti");
> > } else {
> > echo ("Donusum islemi basarisiz.");
> > }

> isset () ve unset () kullanilmasi :

> unset () fonksiyonu degiskeni yok etmek icin kullanilir.Boylece onun icin ayrilmis hafiza alani temizlenerek, degisken ve degeri ortadan kaldirilir.

> isset () fonksiyonu ise degiskenin bir degere sahip olup olmadigini kontrol icin kullanilir.Eger degisken bir degere sahip ise "true" degeri doner.

> Ornek:

> > $UrunNo = "432BB";
> > if (isset($urunNo)) {
> > echo ("Bu yazi ekrana mutlak sekilde yazdirilacak.");
> > }

> > empty () fonksiyonun kullanilmasi

> > empty () fonksiyonu iseet () fonksiyonu ile tam zit bir islev gorur.Eger degiskenin herhangi bir degeri yoksa,degeri sifira esitse veya bos bir string veri iceriyorsa,fonksiyondan "true" yani dogru degeri doner.Diger butun hallerde "false" yani yanlis yapisal degeri doner.

> > Ornek :

> > echo empty ($yenidegisken); //true

> > Degiskenin herhangi bir degeri olmadigi icin empty () fonksyionu "true" degerini dondurdu.Simdi degiskene bir deger verelim ve tekrar calistirilaim:

> > $yenidegisken = 1;
> > echo empty ($yenidegisken); //false

> > Simdi ekrana false yazdi cunku degisken bir degere sahip ve bu deger ne sifir ne bos bir string...

> > $yenidegisken = "";
> > echo empty ($yenidegisken); //true

> > $yenidegisken = 0;
> > echo empty ($yenidegisken); //true

> > $yenidegisken = "Istanbulda olmak vardi anasini satayim...";
> > echo empty ($yenidegisken); //false

> > unset ($yenidegisken);
> > echo empty ($yenidegisken); //true

> > is...() Fonksiyonlari

> > is_int (), is_integer (), ve is_long () fonksiyonlari hepsi birbirinin hemen hemen ayni olan,bizim degiskenin "integer" yani tamsayi olup olmadigini anlamamiza yarayan fonksiyonlardir.

> > is_double (), is_float (), is_real fonksiyonlari hepsi birbirinin hemen hemen ayni olan,bizim degiskenin "double" yani ondalik sayi olup olmadigini anlamamiza yarayan fonksiyonlardir.

> > is_string (), is_array () ve is_object () ise kendi adlariyla anilan degisken veri tipleri icin bizim ornegin bir degiskenin string,array veya object olup olmadigini anlamamizi saglarlar.

> > Ornek :

> > > $UrunNo = "432BB";
> > > if (is_string ($UrunNo)) {
> > > echo ("String");
> > > }

> > ...val () Fonksiyonlari

> > intval (), doubleval () ve strval () fonksiyonlari ile degiskenin sahip oldugu veri tipi degistirlebilir.Bu fonksiyonlar yardimiyla bir degiskenin "dizi" veya "nesneye" donusturulmasi saglanamaz.

> > Ornek :

> > > $UrunNo = "432BB";
> > > $i = intval ($UrunNo); //$i = 432 olur.

> > intval () fonksiyonu secenege bagli olarak bir ikinci argument olarak sayi duzeni sistemininin secilmesini alabilir.Ornegin degiskenin sahip oldugu degeri 16 lik sayi duzenine cevirmek istersek :

> > > $UrunNo = "432BB";
> > > $i = intval ($UrunNo,16); //$i = (decimal) 275131 olur.

> > Bazi kisa yollar ile degisken islemlerinin yapilmasi ve kodun okunabilirliginde artis saglanmasi

> > > $h += $i; Bu suna esittir : $h = $h + $i;
> > > $h -= $i; Bu suna esittir : $h = $h - $i;
> > > $h *= $i; Bu suna esittir : $h = $h * $i;
> > > $h /= $i; Bu suna esittir : $h = $h / $i;
> > > $h %= $i; Bu suna esittir : $h = $h % $i;
> > > $h &= $i; Bu suna esittir : $h = $h & $i;
> > > $h |= $i; Bu suna esittir : $h = $h | $i;
> > > $h ^= $i; Bu suna esittir : $h = $h ^ $i;
> > > $h .= $i; Bu suna esittir : $h = $h . $i;
> > > $h >>= 2; Bu suna esittir : $h = $h >> 2;
> > > $h <<= 2; Bu suna esittir : $h = $h << 2;
> > > $h ++; Bu suna esittir : $h = $h + 1;
> > > $h --; Bu suna esittir : $h = $h - 1;

> > Bazi ilginc noktalar

> > Simdi asagidaki ornege bakiniz:

> > > $a = 10; //$a 10'a esit.
> > > $a ++; //Simdi $a 11'e esit.

> > > $a=10; //$a 10'a esit.
> > > ++$a; //$a 11'e esit.

> > > //Fakat :

> > > $a = 10; //$a 10'a esit
> > > $b = $a++; //$a 11'e esit ve $b 10'a esit.Cunku atama isleminden sonra bir arttirma olayi var.

> > > $a = 10; //$a 10'a esit
> > > $b = ++$a; //$a 11'e esit ve $b 11'e esit.Cunku atama isleminden once bir arttirma olayi var.

> > Serkan Hadi Ceylani
> > serkan@turk-php.com

<<= Önceki Sayfa | PHP Ana Sayfa | Sonraki Sayfa =>>