
Dizeler, PHP dahil olmak üzere birçok programlama dilindeki temel skaler türlerden biridir. Tek tek karakterlerden tüm belgelere kadar metin verilerini temsil ederler.
En basit dize programlama, 256 farklı karakteri temsil edebilen tek baytlık metni içerir. ASCII en yaygın kodlamadır. Çekirdek PHP dili, bu tür dizeleri işlemek için birçok yararlı işleve sahiptir.
Bir Dizenin İçeriği Nasıl Gösterilir
PHP'de herhangi bir programlama yaptıysanız, muhtemelen echo ile karşılaşmışsınızdır , ancak bunun aslında bir işlev olmadığını fark etmeyebilirsiniz. Aslında, yankı bir dil yapısıdır, bu nedenle onu herhangi bir gerçek dize işlevinden daha fazla kullansanız bile, her zaman bir işlev yerine kullanamazsınız.Neredeyse her zaman şu şekilde kullanacaksınız:
echo "Hello, world";
Ama aslında onu bir fonksiyon gibi çağırabilirsiniz:
echo("Hello, world");
Öyle görünse de, bu aslında bir işlev çağrısı değildir. Örneğin, bir değişkene dönüş değerini atayamazsınız:
$a = echo("Hello, world");
Parse error: syntax error, unexpected 'echo' (T_ECHO)
Bir dizgenin değerini çıkarmanın başka bir yolu da print kullanmaktır. Yine, yankıdan bire daha yakın olmasına rağmen, bu gerçekten gerçek bir işlev değildir. Echo gibi, parantez olmadan da arayabilirsiniz:
print "Hello, world";
Ancak, yankıdan farklı olarak, atayabileceğiniz bir değer döndürür, ancak bu değer her zaman 1'dir:
$a = print("Hello, world");
echo $a; // 1
1. Gerçek Bir İşlev Kullanarak Bir Dize Çıktısı Alma
Printf işlevi aslında gerçek bir fonksiyonudur. Gibi yankı ve baskı , bu dizeleri verir, ancak hangi aynalar c dilinden aynı işlevi bazı benzersiz davranışı vardır:$username = "John";
$length = printf("Hello, %s", $username); // "Hello, John"
echo $length; // 11
İlk argüman hala çift tırnak içine alınmış bir dizedir. Ancak printf, dize içindeki özel karakter dizileri üzerinde çeşitli değiştirmeler yapacaktır. Bu diziler yukarıdaki gibi bir yüzde sembolü ile başlar, % s . Bu özel durumda, %s bir dizgeyi temsil eder ve printf onu $username değeri olan bir sonraki argümanla değiştirir .
Printf işlevi yararlı bir değer, biçimlendirilmiş dize uzunluğunu döndürür. Bu, örneğin, değişkenleri printf öğesine geçirirken, uzunluğu önceden bilemeyen kod için yararlı olabilir. Dizenin komut satırında ne kadar fiziksel alan kaplayacağını belirlemek için bu dönüş değerini kullanabilirsiniz.
2. Bir Dizinin Uzunluğunu Almak
Dize uzunluğundan bahsetmişken, bir dizenin uzunluğunu belirlemenin standart yolu strlen işlevidir. Bu işlev çok basittir: tek bir dize argümanı alır ve bayt sayısını bir tamsayı olarak döndürür. Daha önce belirtildiği gibi, ASCII text için bayt sayısı karakter sayısıyla aynıdır:$length = strlen("Hello, World");
echo $length; // 12
3. Bir Dizenin Parçasını Çıkarma
Dizelerle uğraşırken çok yaygın bir görev, o dizenin bir kısmının çıkarılmasıdır. Bunu yapmanın birkaç yolu vardır ve burada ilk sunulan, gerekli alt dizenin konumunu ve uzunluğunu belirtir. Substr fonksiyonu bu parametrelere göre bir dize sabit bölümünü ayıklar.$greeting = substr("Hello, World", 0, 5);
echo $greeting; // "Hello"
Çoğu programlama dilinde olduğu gibi, PHP'nin 0'dan itibaren dizge ofsetlerini saydığını unutmayın. PHP, bu işlevin ikinci parametresinin sonuçtaki dizgenin uzunluğu olması bakımından bazı dillerden farklıdır.
Diğer bir fark, PHP'nin hem ofset hem de uzunluk için negatif değerleri desteklemesidir. Ofset negatifse, sonuç, baştan değil, dizenin sonundan saymaya başlar:
$greeting = substr("Hello, World", -5, 5);
echo $greeting; // "World"
Uzunluk negatifse, dahil edilen sayı yerine kaldırılan karakter sayısını ifade eder:
$greeting = substr("Hello, World", 0, -6);
echo $greeting; // "Hello,"
4. Bir Dize İçinde Arama
Metin işlemenin önemli bir kısmı, bir dizenin diğerinin içindeki yerini bulmayı içerir. PHP'de strpos işlevi ile bunu başarabilirsiniz :$pos = strpos("Hello, World", ",");
echo $pos; // 5
Bir dizenin bir kısmını çıkarmak için daha genel amaçlı bir yöntem sağlamak için strpos'u substr ile birlikte kullanabilirsiniz :
$string = "Hello, World";
$pos = strpos($string, ",");
$first_part = substr($string, 0, $pos);
echo $first_part; // "Hello"
5. Bir Dizenin Durumunu Dönüştürme
Geleneksel ASCII dizelerinin iyi tanımlanmış büyük harf ve küçük harf değişkenleri vardır. a'nın büyük harf versiyonu A'dır. Z'nin küçük harfi z'dir. Strtoupper ve strtolower fonksiyonları bu dönüşümleri gerçekleştirmek. Bunu bir ASCII dizesindeki her karakter için yaparlar:$original = "hello, WORLD";
$upper = strtoupper($original);
$lower = strtolower($original);
echo "$lower $upper"; // "hello, world HELLO, WORLD"
6. Boşluğu Ortadan Kaldırmak
Bazen, başında veya sonunda boşluk olan bir dizeyle karşılaşırsınız: boşluklar, sekmeler veya yeni satır karakterleri. Bu genellikle istenmeyen bir durumdur, ancak trim bunu kaldırabilir:$trimmed = trim(" Hello, World ");
echo $trimmed; // "Hello, World"
7. Bir Dizeyi Ayırıcıyla Bölmek
Patlayabilir fonksiyon sesleri tehlikeli ama endişe yok, herhangi bir kalıcı hasar verir değil! Bunun yerine, bir dizeyi, başka bir dizeyle (genellikle bir karakterle) ayrılmış bir dizi dizeye dönüştürür. Örneğin, bir cümleyi ayrı kelimelere bölmek istiyorsanız bu yararlı olabilir.$sentence = "The quick brown fox jumps over the lazy dog";
$words = explode(" ", $sentence);
$ Kelimeler değişken artık tek kelimeleri içeren bir dizidir:
[ "The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog" ]
8. Bir Diziyi Sabit Uzunlukta Alt Dizilere Bölmek
Gibi patlayabilir , str_split küçük dizeleri bir diziye bir dize kadar işlev sonları. Patlamadan farklı olarak, son dizeler içeriklerine göre değil uzunluklarına göre belirlenir.$parts = str_split("Hello, World", 6);
$ Parçaları dizisi şimdi iki alt dizeleri uzunluğunda her biri altı karakterler içeriyor:
[ "Hello,", " World" ]
9. Bir Dize İçinde Ara ve Değiştir
str_replace kullanarak bir dize üzerinde basit bir arama ve değiştirme işlemi gerçekleştirebilirsiniz . Üç argüman alır: aranacak bir dize, yeni bir dize ve aranacak orijinal bir dize. İşlev, yeni dizeyi döndürür:$result = str_replace("o", "OO", "Hello, World");
echo $result; // "HellOO, WOOrld"
PHP Metinle Çalışmasında Birçok Yararlı Yol Sağlar
PHP genellikle web geliştirmede kullanıldığından, metinle uğraşmak yaygın bir iştir.Burada sunulan işlevler, PHP kullanarak metin işlemek için en kullanışlı işlevler arasındadır. Dilin kendisinde yerleşik yaklaşık yüz dizge işleme işlevi vardır .
Burada gösterilen işlevlerin Unicode dizeleriyle değil, ASCII dizeleriyle kullanım için olduğunu unutmayın. PHP ayrıca Unicode ve diğer çok baytlı karakter kodlama şemalarını ayrı bir işlev kümesiyle destekler .


