İçeriğe geç
Educora
Başlangıç15 dk2 / 10

Değişkenler, türler ve karakter dizileri

Değişkenler oluştur, PHP'nin temel türlerini var_dump ile incele, değişkenleri karakter dizilerinin içine yerleştir, heredoc yaz ve kullanışlı dize fonksiyonlarını kullan.

Kendini test et
Bu derste öğreneceklerin
  • Değişken oluşturmak ve PHP'nin temel türlerini tanımak
  • Tek ve çift tırnaklı dizeleri, değişken yerleştirmeyi ve heredoc'u ayırt etmek
  • strlen, str_replace, sprintf ve number_format gibi fonksiyonlarla metin işlemek

Herhangi bir sitedeki profil sayfasını düşün: ad, yaş, bakiye, “öğrenci” rozeti. Program bu bilgileri bir yerde saklamalıdır. Değişkenler tam da bunun içindir. Web programlamada en çok metinle çalıştığımız için bu derste karakter dizilerine özellikle dikkat edeceğiz.

Değişkenler ve türler

PHP'de değişken adı $ işaretiyle başlar, değer ise = ile atanır. Değişkeni önceden tanımlaman ya da türünü yazman gerekmez: PHP türü değere bakarak kendisi belirler. Bu tür dillere dinamik türlü diller denir. Adlar bir harf ya da _ ile başlamalıdır; genellikle $firstName gibi camelCase biçimi tercih edilir.

PHP
<?php

$name = "Aysel";
$age = 15;
$height = 1.62;
$isStudent = true;
$phone = null;

var_dump($name);
var_dump($age);
var_dump($height);
var_dump($isStudent);
var_dump($phone);
echo gettype($age), " / ", get_debug_type($height), "\n";
Beklenen çıktı
string(5) "Aysel"
int(15)
float(1.62)
bool(true)
NULL
integer / float
TürÖrnekNe saklar
int15, -3, 2026tam sayılar
float1.62, 0.5, 3e2ondalıklı sayılar (kodda ayırıcı her zaman noktadır)
string"Aysel", 'PHP'metin
booltrue, falsemantıksal değer: doğru ya da yanlış
nullnull“değer yok”
array[5, 4, 5]değerler topluluğu (4. ders)
PHP'nin skaler türleri, null ve dizi

var_dump bir değerin hem türünü hem de içeriğini gösterir; hata ayıklama için en kullanışlı fonksiyondur. Karakter dizilerinde uzunluğu da yazar: string(5). gettype eski adları (integer, double), PHP 8 ile gelen get_debug_type ise modern adları (int, float) döndürür. Hiç değişmeyen değerler için bir sabit oluştur: const MAX_SCORE = 100; — sabitin adında $ bulunmaz.

Tek ve çift tırnak

Tek tırnaklı bir karakter dizisi metni olduğu gibi saklar: içinde ne değişkenler ne de \n gibi özel karakterler çalışır. Çift tırnaklı bir dizide ise değişkenlerin yerine değerleri gelir (buna değişken yerleştirme, İngilizcesiyle interpolation denir) ve \n, \t gibi karakterler çalışır. Dizeleri birleştirmek için nokta . operatörü, sona ekleme yapmak için .= kullanılır.

PHP
<?php

$city = "Ganja";
$year = 2026;
$fruit = "apple";

echo 'Hello from $city\n', "\n";
echo "Hello from $city in $year\n";
echo "Hello from " . $city . "!\n";
echo "I ate two {$fruit}s\n";

$message = "Good";
$message .= " luck";
echo $message, "\n";
Beklenen çıktı
Hello from $city\n
Hello from Ganja in 2026
Hello from Ganja!
I ate two apples
Good luck

{$fruit} içindeki süslü parantezler PHP'ye değişken adının nerede bittiğini söyler. Onlar olmadan "$fruits" yazımı, $fruits adında başka ve var olmayan bir değişkeni arardı. Bir dizi elemanını ya da bir nesne özelliğini dizeye yerleştirirken de {...} kullan: "{$user['name']}".

Heredoc ve nowdoc

Çok satırlı metinler (bir mektup, bir e-posta şablonu, bir HTML parçası) için heredoc kullanışlıdır: <<<TEXT ile başlar, aynı adlı işaretle biter ve çift tırnak gibi değişkenleri yerleştirir. Nowdoc (<<<'TEXT', adı tırnak içinde) ise metni tek tırnak gibi olduğu gibi saklar. PHP 7.3'ten beri kapanış işareti girintili yazılabilir; o zaman aynı miktarda girinti tüm satırların başından silinir.

PHP
<?php

$name = "Murad";
$course = "PHP";

$letter = <<<TEXT
    Dear $name,
    welcome to the {$course} course!
      Lesson 1 starts today.
    TEXT;

echo $letter, "\n";

echo <<<'RAW'
Variables like $name stay as they are.
RAW;
Beklenen çıktı
Dear Murad,
welcome to the PHP course!
  Lesson 1 starts today.
Variables like $name stay as they are.

Kullanışlı dize fonksiyonları

PHP
<?php

$text = "  Learning PHP is fun  ";
$clean = trim($text);

echo strlen($clean), "\n";
echo strtoupper($clean), "\n";
echo str_replace("fun", "easy", $clean), "\n";
echo substr($clean, 0, 8), "\n";
var_dump(str_contains($clean, "PHP"));
echo ucfirst("baku"), "\n";
echo sprintf("%.2f AZN", 12.5), "\n";
echo number_format(1234567.891, 2), "\n";
Beklenen çıktı
19
LEARNING PHP IS FUN
Learning PHP is easy
Learning
bool(true)
Baku
12.50 AZN
1,234,567.89
  • trim, dizenin başındaki ve sonundaki boşlukları siler; formdan gelen veriyi her zaman böyle temizle.
  • substr($s, 0, 8) 0. konumdan başlayarak 8 karakter alır; str_contains (PHP 8) bir alt dizenin bulunup bulunmadığını denetler.
  • sprintf bir şablona göre dize oluşturur: %.2f ondalık sayıyı virgülden sonra iki basamakla, %d tam sayıyı, %s ise bir dizeyi yerleştirir.
  • number_format sayıyı yuvarlar ve binlik basamakları ayırır.

Önemli noktalar

  • Değişken adı $ ile başlar; PHP dinamik türlüdür ve türü değere bakarak belirler.
  • Temel türler int, float, string, bool, null ve array'dir; var_dump türü ve değeri birlikte gösterir.
  • Çift tırnak değişkenleri ve \n'i işler, tek tırnak metni olduğu gibi saklar; dizeler . ile birleştirilir.
  • Heredoc çok satırlı metne değişkenleri yerleştirir, nowdoc ise metni değiştirmeden saklar.
  • Azerbaycanca, Rusça ya da Türkçe harfler içeren metinlerde mb_ fonksiyonlarını kullan: strlen baytları sayar.

Kendini test et

10 soru. Her doğru cevap XP kazandırır.

1 / 10
var_dump(7.0); ne yazdırır?