I want to share something seriously important for newbies or beginners of PHP who plays with strings of UTF8 encoded characters or the languages like: Arabic, Persian, Pashto, Dari, Chinese (simplified), Chinese (traditional), Japanese, Vietnamese, Urdu, Macedonian, Lithuanian, and etc.
As the manual says: "strlen() returns the number of bytes rather than the number of characters in a string.", so if you want to get the number of characters in a string of UTF8 so use mb_strlen() instead of strlen().
Example:
<?php
$utf8 = "السلام علیکم ورحمة الله وبرکاته!";
var_export( strlen($utf8) ); echo "<br>";
var_export( mb_strlen($utf8, 'utf8') ); ?>