String Veri Türü

php string veri türü; php manual tanımı ile “Bir dizge string türünde bir sayıl değer olup bir dizi karakterden oluşur” , hoppala bu ne demek dediğinizi duyar gibi oldum. kısava karakterlerin ard arda sıralanması ile oluşan diziler php için string türünde bir veri dir.

<?php
    $lz3g='PHP string veri türleri hakkında makale. Tarih: 29 Mayıs 1453';
// bir string veri türü örneği.
?>

Php string veri türü için her karakter bir bayt manasına gelir ve enfazla karakter sayısı 256 dır. “dikkat burada string boyutu için konuşmuyoruz“. Bir string dizge boyutu çok önemli değildir, istenilen büyüklükye olabilir. Örnek vermek gerekirse, php ile bir makaye yazarken tüm yazınız birtek string veri olabilir, sınırı belirleyen şey, php ini ayarları ve php nin çalıştığı makinenin kapasitesidir.

string sözdizimi

string türünde bir sayıl dört şekilde belirtilebilir:

  • tek tırnaklı dizge
  • çift tırnaklı dizge
  • yorumlu metin (heredoc)
  • yorumsuz metin (nowdoc) – (PHP 5.3.0 ve sonrası)

tek tırnaklı dizge

bir verinin string dizge olarak kullanmanın en basit yöntemi, dizgeyi tek tırnak (‘) imlerinin arasına almaktır. bir string veri tek tırnak ile başlamış ve tek tırnak (‘) kendi değeri ile kullanılmak istenirse başına ters bölü (\) imi konulmalıdır (\’). ayrıca ters bölü iminin de kendi değerinde kullanılması için önüne bir ters bölü (\\) imi konulmalıdır. bunların dışında bir değerin önünde kullanılan  ters bölü değer ile birlikte basılır.
dikkat ! diğer üç sözdizimine karşılık tektırnak kullanılan string veri dizgelerinde değişkenler ve özel karakterler php tarafından yorumlanmaz (göründükleri gibi basılır ).


<?php

// basitbir dizge
echo 'LZ3G Rooteto ile maç keyfini tavsiye ediyor';

// tek tırnak ile tek tırnak kullanmak
echo 'Terminator dedi ki: "I\'ll be back"';

// tek tırnak ile ters bölü kullanmak
echo 'tümünü sil  C:\\*.*?';

// tek tırnak ile ters bölü kullanmak
echo 'tümünü sil C:\*.*?';

// tek tırnak ile özel karakter kullanmak
echo 'satırbaşı için : \n kullanılır';

// tek tırnak ile değişken kullanmak
echo 'hersabah $yumurta $yemek istemiyor';
?>

çift tırnaklı dizge

bir string veri dizgesi eğer çift tırnak (“) ile başlamışsa çift tırnaklı dizgenin egemenliği başlamış olur. peki nedir bu çift tırnak farkı ? kısaca bir elin nesi var ? iki elin sesi.

*Çift tırnak (“) arasında oluşan bir dizge içerindeki değişkenler ve özel karakterler PHP tarafından yorumlanır.

Tersbölü ile öncelenmiş karakterler
Öncelem Anlamı
\n satırsonu (LF veya ASCII 10 (0x0A))
\r satırbaşı (CR veya ASCII 13 (0x0D))
\t yatay sekme (HT veya ASCII 9 (0x09))
\v düşey sekme (VT veya ASCII 11 (0x0B)) (PHP 5.2.5 ve sonrası)
\f sayfa ileri (FF veya ASCII 12 (0x0C)) (PHP 5.2.5 ve sonrası)
\\ tersbölü
\$ dolar imi
\” çift tırnak
\[0-7]{1,3} Bu düzenli ifade ile eşleşen dizilim, karakterin sekizlik gösterimidir.
\x[0-9A-Fa-f]{1,2} Bu düzenli ifade ile eşleşen dizilim, karakterin onaltılık gösterimidir.

<?php

$lz3g=1453;
// çift tırnaklı basit dizge
echo "www.lz3g.com ile php ders notları";

// çift tırnak ile test bölü
echo "bu sabah \n sayfamızda (\) ters bölü örnekleri var ";
//sayfada görünümü
/*
bu sabah
sayfamızda (\) rest bölü örnekleri var
*/
echo "29 mayıs $lz3g";

// 29 mayıs 1453;

?>

Yorumlu Metinler

yorumlu metin bir dizgenin sıırlarını belirlemenin üçüncü yoludur. yorumlu ve yorumsuz metinler daima <<< karakteri ile başlar, hemen ardından bir betimleyici ve bunu takiben bir satır sonu karakteri gelir. asıl dizge bu satır sonundan sonra başlar ve betimeyici ve dizge sonlandırıcı ile biter.

* Dikkat kapanış betimleyicisi dizgenin sonundan sonraki ilk satır başında olmalıdır ve bu betimleyicinin ardından gelen noktalı virgül (;) den sonra  bu satırda başka hiçbirşey olmamalıdır.. bununla beraber bu betimleyici PHP de uygulanan isim kurallarına uygun olmalı ve sadece harf veya altçizgi ile başlayabilir ve sadece harf sayı ve altçizgi karakterlerinden oluşabilir.

Yorumlu metinler çift tırnaklı dizgeler gibi çalışır tüm kurallar ve koşullar aynıdır sadece yorumlu metinlerde çift tırnak kullanmak için önüne tersbölü koymaya gerek yoktur.


<?php
class sinif
{
    var $is;
    var $bar;

    function sinif()
    {
        $this->is = 'dergi';
        $this->bar = array('kitap', 'dergi', 'kaşe');
    }
}

$sinif = new sinif();
$adi = 'Mahmut';

echo <<<LZ3G
Adım "$adi" ve işim $sinif->is okumak.
Şimdi {$sinif->bar[1]} basıyorum.
Bu büyük 'A' basmalı: \x41\n
LZ3G;

/*
Adım "Mahmut" ve işim dergi okumak. Şimdi dergi basıyorum. Bu büyük 'A' basmalı: A
*/

?>

yorumsuz metinler

php string veri türünde  yorumsuz metinler konusuna gelirsek, tek tırnaklı dizgeler ile çift tırnaklı dizgeler arasındaki fark yorumlu metinler ve yorumsuz metinler arasındaki farkla aynıdır. yorumsuz metinler içerisindeki değişkenler ve özel karakterler PHP tarafından yorumlanmaz.

* dikkat yorumsuz metinlerde <<< karakteri ile başlar ve onu tek tırnak içine alınmış bir betim takip eder <<<‘LZ3G’ gibi. yorumlu metin için geçerli diğer kurallar yorumsuz metin içinde geçerli olup özellikle kapanış betimi ve noktalı virgül kuralı önemlidir.

<?php
class sinif
{
    var $is;
    var $bar;

    function sinif()
    {
        $this->is = 'dergi';
        $this->bar = array('kitap', 'dergi', 'kaşe');
    }
}

$sinif = new sinif();
$adi = 'Mahmut';

echo <<<'LZ3G'
Adım "$adi" ve işim $sinif->is okumak.
Şimdi {$sinif->bar[1]} basıyorum.
Bu büyük 'A' basmalı: \x41\n
LZ3G;

/*
Adım "$adi" ve işim $sinif->is okumak. Şimdi {$sinif->bar[1]} basıyorum. Bu büyük 'A' basmalı: \x41\n
*/

?>