PHP Dersleri 6 - Değişken Nedir ? Nasıl Kullanılır ?

Php'de değişkenler en çok kullanacağımız tanımlardan biridir. Değişkenler diğer dillerde olduğu gibi verileri,değerleri tutmamıza yarar.  Değişkeni en basit tanımı ile anlatacak olursak bir verinin saklanmasında kullanılan geçici hafıza alanıdır diyebiliriz.

PHP Dersleri 6 - Değişken Nedir ? Nasıl Kullanılır ?

Değişken Nedir ?

Değişken içinde çeşitli veri tiplerini tutup sakladığımız veya atadığımız geçici depolama alanlarıdır diyebiliriz örnek vermek gerekirse $site_link adında bir değişken oluştururuz ve içine veri olarak sitemizin linkini tanımlarız "https://cilginyazilim.com"  ve artık sitemizin link adresi ile işlem yapmak veya göstermek istediğimizde zaman sadece  $site_link diye yazmamız yeterli olacaktır.

Bir değişkeni tanımlamak için $(Dolar)işareti kullanırız ve olusturmak istediğimiz değişkene bir isim vererek onu tanımlarız ve = (Eşittir) oparatörü ile içine istediğimiz değeri atayıp ; (Noktalı Virgül) ile sonlandırırız.

<?php
	$degiskenadi = "Değişkene Verdiğimiz Değer" ;
	$site_link = "https://cilginyazilim.com";
?>

Bazı dillerde değişkenlere atanılan veri tipilerini belirtmek zorunludur ancak Php'de değişkenin veri tipini belirtmemize gerek yoktur. Php veri tipleri Run time (Çalışma zamanlı) yani anında Php tarafından otomatik olarak belirler.

PHP'de değişken oluştururken bazı yazım kurallar ve dikkat etmemiz gereken bazı önemli kuralları vardır bunları aşağıda madde madde ve örneklerle inceleyelim.

Değişken isimlerini oluştururken dikkat etmemiz gereken kurallar.

  • Değişken oluştururken başında $(Dolar)işareti kullanırız.
  • Değişkenlere özel İsimler tanımlanmalıdır istediğimiz ismi verebiliriz ancak Php'nin kullandığı adlandırmalar kullanılmamalıdır echo, if, count, foreach vb. gibi önceden tanımlı isimler verilemez.
  • Değişken İsimlerinde Türkçe Karakter Kullanılamaz ( ö ç ş ğ ı ü Ö Ç Ş İ Ğ Ü ) $değişken yerine $degisken Şeklinde yazılmalıdır.
  • Değişkenlere İsim verilirken A-z Metinsel Karakterler veya 0-9 Ramaksal Karakterler Veya _ (Alt Çizgi) ile özel karakter kullanabiliriz.
  • Değişken isimleri arasında boşluk bırakılamaz onun yerine _ (Alt Çizgi) Kullanılır $ornek degisken yerine $ornek_degisken şeklinde yazılmalıdır.
  • Değişken isimleri Rakam ile başlayamaz A-z Metinsel Veya _ (Alt Çizgi) ile başlamalıdır. $1degisken yerine $_degisken1 veya $degisken1 şeklinde yazılmalıdır.
  • Değişkenler Büyük Küçük harflere duyarlıdır. $değisken_adi_1 ve $Değisken_Adi_1 aynı değildir.
<?php
	$ornek_degisken_adi_1 ;
?>

Değişkenlere değer, veri ataması yaparken dikkat edilmesi gerekenler.

  • Oluşturduğumuz değişkenlere değerleri, verileri atamak içini  = (eşittir) oparatörünü kullanırız ve ardından mutlaka ;(Noktalı Virgül) ile satırın bittini belirtmemiz gerekir.
  • Değişkenlerde String (Metinsel) veriler kullandığımızda " " (Çift Tırnak) veya ' ' (Tek Tırnaklar) İçinde Yazılmalıdır.
  • Değişkenlerde integer(Tamsayı) veya Float - Double(Ondalıklı) Rakamsal Değerler Atamak istediğimizde Tırnak Kullanmamıza Gerek Yoktur. Float - Double (Ondalıklı) Rakamsal  değeleri kullanırken . (Nokta) ile ayrılır , (Virgül) kullanımında hata verir.
  • Değişkenlerde mantıksal kesin sonuç ataması yapılacağında boolean(true,false) veri tipi ataması yapılır. true yada false belirtmeleri tırnaklar içinde belirtilmez.
  • Değişkene boş değer atanmasında çeşitli güvenlik sorunları çıktığı için sadece NULL ataması yapılır. NULL belirtmesi tırnaklar içinde belirtilmez.
  • array, object veri tiplerindeki atamaları detaylı konu anlatım derslerinde detaylı bir şekilde incelenecektir.
  • Aynı değişken isimleri kullanıldığında en son tanımlama yapılan değişkenin verileri geçerli olur. Php sayfası sunucu tarafında yorumlanırken kodlar yukarıdan aşağıya doğru yorumlanır ve en son tanımlanan değişkenin verileri geçerli olur.
<?php
	// String(Metinsel) içerikler barındırılır Tırnaklar İçinde Tanımlanır
	$degisken_1 = "String(Metinsel) içerikler barındırılır" ;
	// integer(Tam Sayı) Rakamsal içerikler barındırılır Tırnaklar kullanılmaz	
	$degisken_2 = 5 ;
	// Float- Double (Ondalıklı Sayı) Rakamsal içerikler barındırılır Tırnaklar kullanılmaz ve nokta ile ayrılır.	
	$degisken_3 = 5.5 ;
	// boolean(true, false) Mantıksal Kesin sonuç Evet Veya Hayır.	
	$degisken_4=true; 
	// NULL(Boş) içindeverinin tamamen boş olduğunu belirtir.
	$degisken_5 = NULL ;
	// array(dizi) çoklu veri tipini aynı anda barındırır.
	$degisken_6 = array("cilginyazilim",2022,35.5,true,NULL) ;	
	// object(Nesne) Farklı veri türleri ve fonksiyonlardan oluşur .
	$degisken_6= new Kisi();	
?>

Değişken Kullanım Detayları

Olmayan veya değer ataması yapılmayan bir değişken ismini çağırdığımızda veya çalıştırdığımızda Php tanımsız değişken hatası verir. ( Notice: Undefined variable: degisken in C:\wamp64\www\php_dersleri\ders_01\degiskenler.php on line 26 )

<?php
	echo $olusturulmayan_degisken;
?>

İki değişkeni yan yana veya birlikte yazmak için . (Nokta)  bağlama oparatörü kullanılır 

<?php
	$ad = "Evren";
	$soyad = "ÇILGIN";
	
	echo $ad." ".$soyad;
?>

Değişkenler içinde matematiksel işlemler yaptırmak istediğimizde temel matematik oparatörleri kullanılır.

<?php
	$sayi1 = 4.5;
	$sayi2 = 5;	
	
	echo $sayi1 + $sayi2;
?>

Değişkenin İçindeki verinin veri tipini öğrenmek için Php'nin ön tanımlı fonksiyonlarından gettype() veya var_dump() Fonksiyonları kullanılır. 

<?php	
	$degisken_6 = array("cilginyazilim",2022,35.5,true,NULL) ;	
	// Değişkenin içindeki Verinin hangi tip olduğunu gösterir(String,integer,null,array vb...) 
	echo gettype($degisken_6);	
	// Değişkenin içindeki Verinin detaylı çıktısını görebiliriz.(tipi,boyutu,karakter sayısı vb...) 
	var_dump($degisken_6);	
?>

Değişkenleri çalıştırmak için değişken adını yazmamız yeterlidir. Değişkenlerin içinde ki veriyi ekrana yazdırmak "çıktı" almak istiyorsak echo() fonksiyonu kullanılır.

String(Metinsel) Veri İçeren Değişkenleri Ekrana Yazdırmak İçin

<?php
	// String(Metinsel) veriler echo ile ekrana yazılır
	$degisken = "<b>ÇılgınYazılım</b> PHP Dersleri";
	echo $degisken;
?>

integer(Tam Sayı) Veri İçeren Değişkenleri Ekrana Yazdırmak İçin

<?php
	// integer(Tam Sayı) veriler echo ile ekrana yazılır
	$degisken = 1453;
	echo $degisken;
?>

Float- Double Veri İçeren Değişkenleri Ekrana Yazdırmak İçin

<?php
	// Float- Double veriler echo ile ekrana yazılır
	$degisken = 12.50;
	echo $degisken;
?>

boolean(true, false) Veri İçeren Değişkenleri Ekrana Yazdırmak İçin

<?php
	// boolean(true, false) veri tipine sahip değişkenler echo ile yazdırmaktansa mantıksal işlemlerde kullanılır. 
	$degisken_1 = true;
	// Sonuç true olduğu İçin Ekrana 1 değerini verir
	echo $degisken_1;
	echo "<br>";
	$degisken_2 = false;
	// Sonuç false olduğu İçin Ekrana 0 değerini verir veya hiç birşey yazmaz
	echo $degisken_2;	
?>

NULL(boş) Veri İçeren Değişkenleri Ekrana Yazdırmak İçin

<?php
	// NULL(boş) veri tipine sahip değişkenleri echo ile yazılmaz mantıksal işlemlerde kullanılır. 
	$degisken = null;
	if($degisken == null){
		echo "değişkenin değeri null";	
	}
?>

array(dizi) Veri İçeren Değişkeni Ekrana Yazdırmak İçin ve detayları için konu anlatımlı dersine bakabilirsiniz.

<?php
	// array(dizi) veri tipine sahip değişkenleri echo ile yazdırırken değişkenin anahtar değerini belirtiriz. 
	$degisken = array("cilgin", "yazilim", 2022, "PHP");
	echo $degisken[3];
?>

object(Nesne) Veri İçeren Değişkeni Ekrana Yazdırmak İçin ve detayları için konu anlatımlı dersine bakabilirsiniz.

<?php
	// object(Nesne) veri tipine sahip değişkenleri echo ile yazdırırken nesne yönelimini belirtiriz. 
	class sinif_adi{
		public function yazdir(){
			echo "Bu Bir object_veri tipidir";
		}
	}
	$degisken= new sinif_adi();	

	echo $degisken->yazdir(); 
?>