PHP 8, dizelerle (string) çalışmak için geliştiricilere daha güçlü araçlar sağlamak amacıyla gelişmiş dize işleme tekniklerini daha da iyileştirmiştir. Bu bölümde, bu gelişmiş özellikleri ve dizeler üzerinde karmaşık işlemleri nasıl verimli bir şekilde yapabileceğimizi inceleyeceğiz.
Örnek:
PHP:
Örnek:
PHP:
Örnek:
PHP:
PHP:
Bu kırpma fonksiyonları, kullanıcı girdilerini veya veritabanından çekilen kirli verileri temizlerken çok kullanışlıdır.
PHP'nin düzenli ifade yetenekleri, karmaşık örüntü eşleştirme ve değiştirme işlemleri için vazgeçilmezdir.
PHP:
Uluslararası uygulamalar ve çok dilli içeriklerle çalışırken, PHP'nin çok baytlı (multibyte) dize fonksiyonları hayati önem taşır. Bunlar, ASCII olmayan Unicode karakterlerle doğru şekilde çalışmayı sağlar.
PHP:
PHP 8, bir dizede bir alt dizenin olup olmadığını kontrol etme gibi sık kullanılan işlemleri daha okunaklı ve hızlı hale getiren yeni fonksiyonlar sunmuştur:
Örnek:
PHP:
PHP 8, dize manipülasyonu için hem yeni, okunabilirliği artıran fonksiyonlar eklemiş hem de mevcut işlevlerin (Multibyte, Regular Expressions) kullanımını ve performansını iyileştirmiştir. Bu özellikler, her senaryoda dizelerle çalışmayı daha etkili ve verimli hale getirir.
6.2.1. Dize İnterpolasyonu (String Interpolation)
Dize interpolasyonu, birleştirme operatörü (.) kullanmaya gerek kalmadan, değişkenleri doğrudan çift tırnak içindeki bir dizenin içine gömmenizi sağlar. Bu, kodu daha temiz ve okunaklı hale getirir.Örnek:
PHP:
$name = 'John';
$greeting = "Hello, $name!"; // Değişken, çift tırnak içinde kullanıldı.
echo $greeting; // Çıktı: Hello, John!
6.2.2. Çok Satırlı Dizeler (Heredoc ve Nowdoc)
PHP, birden çok satıra yayılan uzun metin blokları oluşturmak için Heredoc yapılarını kullanır. Bu özellik, özellikle HTML veya SQL gibi formatlanmış metinleri veya şablonları tanımlarken kullanışlıdır, çünkü satır sonlarını ve boşlukları korur.Örnek:
PHP:
$multilineString = <<<EOD
Bu,
birden fazla satıra
yayılan bir dizedir.
EOD;
echo $multilineString;
6.2.3. Dize Dönüştürme Fonksiyonları
PHP 8, dizeleri yaygın formatlara dönüştürmek için standart fonksiyonları sunmaya devam eder.- strtoupper($string): Bir dizenin tamamını büyük harfe dönüştürür.
- strtolower($string): Bir dizenin tamamını küçük harfe dönüştürür.
Örnek:
PHP:
$string = 'Hello, World!';
$uppercase = strtoupper($string); // Sonuç: HELLO, WORLD!
$lowercase = strtolower($string); // Sonuç: hello, world!
6.2.4. Dize Uzunluğu ve Kırpma (Trimming)
- strlen($string): Bir dizenin bayt cinsinden uzunluğunu döndürür.
- trim($string): Dizelerin başındaki ve sonundaki boşlukları (ve diğer belirtilen karakterleri) kırparak temizler.
PHP:
$string = ' Trim me! ';
$length = strlen($string); // Sonuç: 12 (Boşluklar dahil)
$trimmed = trim($string); // Sonuç: "Trim me!"
echo $length;
echo $trimmed;
Bu kırpma fonksiyonları, kullanıcı girdilerini veya veritabanından çekilen kirli verileri temizlerken çok kullanışlıdır.
6.2.5. Düzenli İfadeler (Regular Expressions)
PHP'nin düzenli ifade yetenekleri, karmaşık örüntü eşleştirme ve değiştirme işlemleri için vazgeçilmezdir.
- preg_match(): Bir dizenin belirli bir desene uyup uymadığını kontrol eder.
- preg_replace(): Bir dizenin içindeki eşleşen desenleri başka bir metinle değiştirir.
PHP:
$text = 'The quick brown fox jumps over the lazy dog.';
$pattern = '/brown/i'; // 'i' eki, büyük/küçük harf duyarsız eşleşme sağlar
if (preg_match($pattern, $text)) {
echo 'Örüntü bulundu!';
}
$replaced = preg_replace($pattern, 'red', $text);
echo $replaced; // Çıktı: "The quick red fox jumps over the lazy dog."
6.2.6. Unicode Desteği (Multibyte String Functions)
Uluslararası uygulamalar ve çok dilli içeriklerle çalışırken, PHP'nin çok baytlı (multibyte) dize fonksiyonları hayati önem taşır. Bunlar, ASCII olmayan Unicode karakterlerle doğru şekilde çalışmayı sağlar.
- mb_strlen($string): Dizenin karakter sayısını döndürür (bayt sayısını değil).
- mb_substr($string, start, length): Çok baytlı alt dizeyi döndürür.
PHP:
$string = 'Café'; // é karakteri birden fazla bayttan oluşur
$length = mb_strlen($string); // Sonuç: 4 (Karakter sayısı)
$substring = mb_substr($string, 0, 3); // Sonuç: "Caf"
echo $length;
echo $substring;
6.2.7. Dize İçeriği Kontrol Fonksiyonları (PHP 8 Yenilikleri)
PHP 8, bir dizede bir alt dizenin olup olmadığını kontrol etme gibi sık kullanılan işlemleri daha okunaklı ve hızlı hale getiren yeni fonksiyonlar sunmuştur:
- str_contains($haystack, $needle): Bir dizenin belirtilen alt dizeyi içerip içermediğini kontrol eder.
- str_starts_with($haystack, $needle): Bir dizenin belirtilen alt dize ile başlayıp başlamadığını kontrol eder.
- str_ends_with($haystack, $needle): Bir dizenin belirtilen alt dize ile bitip bitmediğini kontrol eder.
Örnek:
PHP:
$string = 'Hello, World!';
$contains = str_contains($string, 'World'); // Sonuç: true
$startsWith = str_starts_with($string, 'Hello'); // Sonuç: true
$endsWith = str_ends_with($string, 'World!'); // Sonuç: true
PHP 8, dize manipülasyonu için hem yeni, okunabilirliği artıran fonksiyonlar eklemiş hem de mevcut işlevlerin (Multibyte, Regular Expressions) kullanımını ve performansını iyileştirmiştir. Bu özellikler, her senaryoda dizelerle çalışmayı daha etkili ve verimli hale getirir.


