Συνάρτηση mb_strlen
Η συνάρτηση mb_strlen επιστρέφει τον αριθμό των χαρακτήρων σε μια συμβολοσειρά, λειτουργώντας σωστά με κωδικοποιήσεις πολλαπλών byte (για παράδειγμα, UTF-8). Σε αντίθεση με την strlen, μετράει σωστά τους χαρακτήρες που καταλαμβάνουν πολλά byte. Δέχεται ως πρώτη παράμετρο μια συμβολοσειρά και ως δεύτερη (προαιρετική) - την κωδικοποίηση.
Σύνταξη
phpmb_strlen(string, [encoding]);
Παράδειγμα
Μέτρηση μήκους συμβολοσειράς σε UTF-8:
php<?php
$res = mb_strlen('Привет', 'UTF-8');
echo $res;
?>
Αποτέλεσμα εκτέλεσης κώδικα:
php6
Παράδειγμα
Σύγκριση με την strlen για κυριλλικά:
php<?php
$str = 'тест';
echo 'strlen: ' . strlen($str) . '<br>';
echo 'mb_strlen: ' . mb_strlen($str, 'UTF-8');
?>
Αποτέλεσμα εκτέλεσης κώδικα:
phpstrlen: 8
mb_strlen: 4
Παράδειγμα
Χρήση χωρίς καθορισμό κωδικοποίησης
(η κωδικοποίηση λαμβάνεται από την mb_internal_encoding):
php<?php
echo mb_strlen('abcde');
?>
Αποτέλεσμα εκτέλεσης κώδικα:
php5