crx4 , 09 Nisan, 2016
Prototipi:
int strlen ( string $string )
strlen fonksiyonu aldığı karakter katarının(string) byte sayısını herşey yolunda giderse integer tipiyle geri döndürür, sorunla karşılaşırsa 0 değerini geri döndürür. Buda çeşitli ifadeler yazarak kontroller yapmamızı sağlar. Aşağıdaki örneklerden birinde NULL olan bir değişkeni bu fonksiyona gönderip test etim ve 0 değerini döndürdüm.
Tek parametre alır. Aldığı tam sayı ve noktalı sayıların dahi uzunluğunu da geri döndürebilir. 1 karakterin boyutunu 1 byte ile ifade edebildiğimiz için dolaylı olarak karakter sayısını döndürüyor diyebiliriz. Aldığı diğer tiplerdeki değişkenlere string olarak kast ettiği için sanki karakter katarıymış gibi işler ve değer döndürür.
Byte uzunluğuna değinmişken şuradaki arkadaşın bahsettiği üzere 1 karakteri 1 Byte olmayan diller için(Arapça vs…) bu fonksiyonu kullanmak hayal kırıklığına neden olabilir. Bunun üstesinden gelmemiz için mb_strlen fonksiyonunu kullanmamızı öneriyor. Yada bir başka çözüm olarak utf8_decode fonksiyonunu kullanabileceğimiz söylenmiş…
Bir diğer konu aşağıda bahsettiğim gibi değişkenin değeri NULL olsa da 0, taşıdığı string byte sayısı 0 olsa da 0 döndürüyor olması. Bununla mantıksal ifadelerde başa çıkabilmek için aynı değişkeni is_null() ve isset() gibi fonksiyonlarla mantıksal ve işlemine tabi tutarak desteklememiz gerekebilir.
Birçok kullanım şekli ile strlen fonksiyonunu aşağıda inceleyelim:
Bu php sayfasının çıktısı aşağıdaki gibidir:
php php fonksiyonları php string fonksiyonları php string uzunluğu strlen ne iş yaparstrlen strlen
int strlen ( string $string )
Aldığı karakter katarının(string) karakter sayısını döndürüyor.
Bir şeyler yolunda gitmez ise 0 değerini döndürür:
Uzunluk 0 olmayabilir! Değişken dökümü:NULLBu bir tek satir cikti.
Byte uzunluğu: 23
Bu bir tek satır çıktı.
Byte uzunluğu: 27Null ve boş karakter katarı ayrımı.
d1 değişkeni NULL olabilir
Bir cevap yazın