logo
Welcome Guest! To enable all features please Giriş or Kayıt.

Bildirim

Icon
Error

Ayarlar
Son mesaja git Go to first unread
kodcu  
#1 Gönderildi : 12 Aralık 2016 Pazartesi 15:11:37(UTC)
kodcu

Sıralama: Advanced Member

Gruplar: Registered
Katılan: 12.12.2016(UTC)
Mesajlar: 37
Turkey

Php Escape

turler.php dosyasını yazdıysanız, şu satırdaki, ters-bölü işareti dikkatinizden
kaçmamış olmalı:

Kod:
print "İkinci değişkenin adı: \$alfanumerik<br>"; 


Daha önce gördük ki, tek veya çift tırnak içine de alsak, PHP, bir değişken adını
gördüğü zaman onun yerine o değişkenin tuttuğu değeri yazar. PHP bunu, değişken adının
başındaki $ görerek yaparak. $ işareti gibi PHP için özel anlamı olan işaretlerin
anlamlandırılmasını önlemek ve bu işaretleri düz metin saymasını sağlamak için bu
işaretlerin önüne ters-bölü işareti koyarız. Buna o karakteri kurtarma veya ESCaping denir.
PHP'nin anlamlı işaretleri ve bunların ESCape-yazılışı şöyledir:

\' Tek tırnak
\" Çift tırnak
\\ Ters-bölü
\$ Dolar işareti
\n Yeni Satır (New Line)
\r Satır Başı (Return)
\t Sekme (Tab) karakteri

Kimi zaman bir değişkene atadığımız değerin türünü değiştirmek gerekir. Bunu
settype() fonksiyonu ile yaparız. Elimizde böyle bir imkan var diye, bir değişkenin
alfanümerik (String) olan değerini sayıya çevirebileceğini sanmayın. PHP buna çok kızar!
Şu örneği de tur_degistir.php adıyla kaydedelim:

Kod:


<HTML> 
<HEAD> 
<TITLE>PHP'de Degisken Turleri</TITLE> 
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-9"> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1254"> 
</HEAD> 
<BODY> <B> <H2> 
<?php  $degisken  = 5.67890;  
print("Değişkenin  değeri : ");  
print "$degisken<br>";  
print("Türü : ");  
print gettype( $degisken ) ; //çift,ondalık/double  print "<br>";  
print "<br>";  
print "İlk değiştirme işlemi: Alfanümerik/String:<br>";  
settype( $degisken, string ); //alfanümerik/string  
print "Değeri : ";  
print "$degisken<br>";  
print("Türü : ");  
print gettype( $degisken ) ; //alfanümerik/string  print "<br>";  
print "<br>";  
print "İkinci değiştirme işlemi: Tamsayı/Integer:<br>";  
settype( $degisken, integer ); //Tamsayı/Integer  print "Değeri : ";  
print "$degisken<br>";  
print("Türü : ");
print gettype( $degisken ) ; //Tamsayı/Integer  print "<br>";  
print "<br>";  
print "Üçüncü değiştirme işlemi: Ondalık/Double:<br>";  
settype( $degisken, double ); //çift,ondalık/double  
print "Değeri : ";  
print "$degisken<br>";  
print("Türü : ");  
print gettype( $degisken ) ; //çift,ondalık/double  
print "<br>";  
print "<br>";  
print "Dördüncü değiştirme işlemi: Mantıksal/Boolean:<br>";  
settype( $degisken, boolean ); // Mantıksal/Boolean  print "Değeri : ";  
print "$degisken<br>";  
print("Türü : ");  
print gettype( $degisken ) ; 
// Mantıksal/Boolean  print "<br>";  
print "<br>"; ?> 
</H2> </B> </BODY> </HTML> 



Bu programı çalıştırdığımızda, ilk atadığımız değerin ondalık/double olarak
belirlendiğine dikkat edin. Bu değerin türünü alfanümerik/string olarak değiştirdiğimizde
değişmediğini görüyoruz. Fakat tamsayı/integer'a çevirdiğimizde PHP değerin tamsayı
bölümünü alıyor; ondalık-kesir bölümünü atıyor. Nitekim daha sonra değişkerin türünü
yeniden ondalık yaptığımız halde, atılan bu bölüm geri gelmiyor. Son olarak değişkeni
mantıksal ifade olarak değiştirdiğimizde, değerin doğru/true olduğunu anlıyoruz; değer
olarak bize 1 dönüyor. PHP, sıfır dışındaki tüm değerleri doğru/true'ya çevirir; sıfır'ı ise
yanlış/false olarak atar ve boş/null değer verir.

Şu anda PHP'yi tam bilemediğimiz için nerede kullanılır kestiremiyoruz, ama diyelim
ki burada olduğu gibi, değişkeni bir daha düzelmeyecek şekilde değişikliğe uğratmak
istemeyebiliriz; fakat yine de değerinin türünü değiştirmek isteyebiliriz. Bunu da nerede
kullanabiliriz, şu anda bilmiyoruz. Ama diyelim ki, böyle bir işlem yapmaya ihtiyacımız
oldu! Hatırlıyor musunuz, biraz önce özel bir şekilde bir değişkene başka bir değişkenin
adını değer olarak vererek, aslında bu değişkenin ilk değişkenin değerini almasını
sağlamıştık. Burada da aynı tekniği kullanabiliriz. Bu kodu da tur_kopyala.php adıyla
kaydedin:

Kod:

<HTML> 
<HEAD> <TITLE>PHP'de Degisken Turleri Kopyalama (Casting)</TITLE> 
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-9"> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1254"> 
</HEAD> <BODY> <B> <H2> 
<?php  $degisken  = 3.1418;  
print("Değişkenin  değeri : ");  
print "$degisken<br>";  
print("Türü : ");  
print gettype( $degisken ) ; //çift,ondalık/double  print "<br>";  
print "<br>";  
print "İlk kopyalama işlemi: Alfanümerik/String:<br>";  
$kopya_degisken =  ( string ) $degisken; //alfanümerik/string  
print "Değeri : ";  
print "$kopya_degisken<br>";  
print("Türü : ");  
print gettype( $kopya_degisken ) ; //alfanümerik/string  
print "<br>"; 
print "<br>";  
print "İkinci kopyalama işlemi: Tamsayı/Integer:<br>";  
$kopya_degisken =  ( integer ) $degisken; //Tamsayı/Integer  
print "Değeri : ";  
print "$kopya_degisken<br>";  
print("Türü : ");  
print gettype( $kopya_degisken ) ; //Tamsayı/Integer  
print "<br>";  print "<br>";  
print "Üçüncü değiştirme işlemi: Ondalık/Double:<br>";  
$kopya_degisken =  ( double ) $degisken; //çift,ondalık/double  
print "Değeri : ";  
print "$kopya_degisken<br>";  
print("Türü : ");  
print gettype( $kopya_degisken ) ; //çift,ondalık/double  
print "<br>";  print "<br>";  
print "Dördüncü kopyalama işlemi: Mantıksal/Boolean:<br>";  
$kopya_degisken =  ( boolean ) $degisken; // Mantıksal/Boolean  
print "Değeri : ";  
print "$kopya_degisken<br>";  
print("Türü : ");  
print gettype( $kopya_degisken ) ; // Mantıksal/Boolean  print "<br>";  
print "<br>"; ?> </H2> </B> 
</BODY> </HTML>


Bu programın can alıcı noktası örneğin "$kopya_degisken = ( boolean )
$degisken;" şeklindeki komut; burada $kopya_degisken adlı değişkene $degisken adlı
değişkenin değerini (eşittir işareti ile) kazandırırken, arada yeni değişkenin kazanmasını
istediğimiz türün adını parantez içinde yazıyoruz. Burada gerçekte, $degisken adlı
değişkenin değerine hiç bir şey olmuyor. Bu programı çalıştırırsanız, ilk değerin ontalık
kısmının önceki örnekte olduğu gibi değişim işlemi sonunda tamamen yok olmadığını
görebilirsiniz.
$degisken adlı değişkenin değeri değişmeden durduğu için üçüncü adımda
yıptığımız ondalık tür olarak kopyalama sonucu yeni değişkenin değeri yine kesiri ile
karşımıza çıkıyor.


Bu konudaki kullanıcılar
Guest
Forumu Atla  
Bu foruma yeni konular postalayamazsınız.
Bu forumda ki konulara yeni posta gönderemezsiniz.
Bu forumdaki postalarınızı silemezsiniz.
Bu forumdaki postalarınızı düzenleyemezsiniz.
Bu forumda anketler yaratamazsınız.
Bu forumdaki anketlere oy veremezsiniz.