¼ÓÈëÊÕ²Ø | ÉèΪÊ×Ò³ | »áÔ±ÖÐÐÄ | ÎÒҪͶ¸å Àî´óͬ £¨https://www.lidatong.com.cn/£©- ¿Æ¼¼¡¢½¨Õ¾¡¢¾­Ñé¡¢ÔÆ¼ÆËã¡¢5G¡¢´óÊý¾Ý,Õ¾³¤Íø!
µ±Ç°Î»Ö㺠Ê×Ò³ > Õ¾³¤Ñ§Ôº > PHP½Ì³Ì > ÕýÎÄ

php 7 mb_(¶à×Ö½Ú)º¯Êý±È5.3(½öÏÞwindows)¸üÂýÔ¼60£¥

·¢²¼Ê±¼ä£º2020-12-13 13:19:13 ËùÊôÀ¸Ä¿£ºPHP½Ì³Ì À´Ô´£ºÍøÂçÕûÀí
µ¼¶Á£ºÎÒµÄÓ¦ÓóÌÐò¹ã·ºÊ¹ÓÃmb_×Ö·û´®º¯Êý,²¢Çл»µ½ PHP 7µ¼ÖÂÕûÌå½ÏÂýµÄÓ¦ÓóÌÐò.ÎÒ½«ÎÊÌâ¸ú×Ùµ½mb_×Ö·û´®º¯Êý.ÒÔÏÂÊÇ»ù×¼´úÂëºÍ½á¹û£º $time = microtime();$time = explode(' ',$time);$start = $time[1] + $time[0];$startms = $time[0]; for ($i=0; $i100000;
ÎÒµÄÓ¦ÓóÌÐò¹ã·ºÊ¹ÓÃmb_×Ö·û´®º¯Êý,²¢Çл»µ½ PHP 7µ¼ÖÂÕûÌå½ÏÂýµÄÓ¦ÓóÌÐò.ÎÒ½«ÎÊÌâ¸ú×Ùµ½mb_×Ö·û´®º¯Êý.ÒÔÏÂÊÇ»ù×¼´úÂëºÍ½á¹û£º
$time = microtime();
$time = explode(' ',$time);
$start = $time[1] + $time[0];
$startms = $time[0];
    for ($i=0; $i<100000; $i++) {
        $a = mb_strlen("fdsfdssdfoifjosdifjosdifjosdij:?","UTF-8");
    }
$time = microtime();
$time = explode(' ',$time);
$finish = $time[1] + $time[0];
$finishms = $time[0];
$total_time = round(($finish - $start),4);
echo "mb_strlen: " . $total_time*1000 ." milliseconds<br/>";

$time = microtime();
$time = explode(' ',$time);
$start = $time[1] + $time[0];
$startms = $time[0];
    for ($i=0; $i<100000; $i++) {
        $a = mb_stripos("fdsfdssdfoifjosdifjosdifjosdij:?","¦Á",4);
echo "mb_stripos: " . $total_time*1000 ." milliseconds<br/>";


$time = microtime();
$time = explode(' ',$time);
$start = $time[1] + $time[0];
$startms = $time[0];
    for ($i=0; $i<100000; $i++) {
        $a = mb_substr("fdsfdssdfoifjosdifjosdifjosdij:?",$i,1,4);
echo "mb_substr: " . $total_time*1000 ." milliseconds<br/>";

¸Ãƽ̨ÊÇWindows 7 64λ,IIS 7.5£º

php 5.3.28
mb_strlen: 250 milliseconds
mb_stripos: 3078.1 milliseconds
mb_substr: 281.3 milliseconds

php 7.1.1
mb_strlen: 406.3 milliseconds
mb_stripos: 4796.9 milliseconds
mb_substr: 421.9 milliseconds

ÎÒ²»ÖªµÀÎÒµÄÉèÖÃÊÇ´í»¹ÊÇʲô,µ«Ëƺõ²»¿É˼ÒéµÄÊǶà×Ö½Ú¹¦ÄÜÓ¦¸Ã¸üÂý.¹ØÓÚΪʲôÒÔ¼°ÈçºÎ½â¾öÕâ¸öÎÊÌâµÄÈκÎÏë·¨£¿ÏȸÐлÄú.

±à¼­£ºÕýÈçapokryfosµÄÆÀÂÛËù°µÊ¾µÄ,Õâ¿ÉÄÜÊÇWindowsΨһµÄÎÊÌâ.

ÎÒ¿ÉÒÔÈ·ÈÏÄúµÄ½á¹ûÔÚWindows 7ÉÏÊÇ¿ÉÖØÏÖµÄ.
¾­¹ýһЩʵÑé,ÎÒÕÒµ½ÁËÒ»¸ö¿ìËٵĽâ¾ö·½°¸,¼´IMOÉõÖÁ²»Ó¦¸Ã²úÉúÓ°Ïì.

´Ómb_strlen()¹¦ÄÜÇ©Ãû¿ÉÒÔ¿´³ö,
Èç¹ûÊ¡ÂÔencoding²ÎÊý,Ëü½«Ê¹ÓÃÄÚ²¿±àÂë.
ÕâÒ²ÊÊÓÃÓÚÄúʹÓÃµÄÆäËû¹¦ÄÜ.

mixed mb_strlen ( string $str [,string $encoding = mb_internal_encoding() ] )

ÎÒ·¢ÏÖÆæ¹ÖµÄÊÇ,Èç¹ûÄãͨ¹ýµ÷ÓÃmb_internal_encoding(¡°UTF-8¡±)½«ÄÚ²¿±àÂëÉèÖÃΪUTF-8²¢Ê¡ÂÔ±àÂë²ÎÊý,
¹¦ÄܱäµÃ¸ü¿ì.

PHP 5.5½á¹û£º

5.5.12

with encoding parameter:
- mb_strlen: 172 ms,result: 5
- mb_substr: 218 ms,result: ¤¦
- mb_strpos: 218 ms,result: 3
- mb_stripos: 1,669 ms,result: 3
- mb_strrpos: 234 ms,result: 3
- mb_strripos: 1,685 ms,result: 3

with internal encoding:
- mb_strlen: 47 ms,result: 5
- mb_substr: 78 ms,result: ¤¦
- mb_strpos: 62 ms,result: 3
- mb_strrpos: 94 ms,result: 3

PHP 7.0½á¹û£º

7.0.12

with encoding parameter:
- mb_strlen: 640 ms,result: 5
- mb_substr: 702 ms,result: ¤¦
- mb_strpos: 686 ms,result: 3
- mb_stripos: 7,067 ms,result: 3
- mb_strrpos: 749 ms,result: 3
- mb_strripos: 7,130 ms,result: 3

with internal encoding:
- mb_strlen: 31 ms,result: 5
- mb_substr: 31 ms,result: ¤¦
- mb_strpos: 47 ms,270 ms,result: 3
- mb_strrpos: 62 ms,116 ms,result: 3

²»ÐÒµÄÊÇ,ÕâÖÖ¿ìËÙ½â¾ö·½°¸²¢²»ÍêÃÀ,ÒòΪmb_stripos()ºÍmb_strripos()ËÆºõûÓÐÊܵ½Ó°Ïì.
ËûÃÇÈÔÈ»ºÜÂý.

ÕâÊÇ´úÂë(Ëõд)£º

echo PHP_VERSION."n";
echo "nwith encoding parameter:n";

$t = microtime(true)*1000;
for($i=0; $i<100000; $i++){
    $n = mb_strlen("¤¢¤¨¤¤¤ª¤¦","UTF-8");
}
$t = microtime(true)*1000-$t;
echo "- mb_strlen: ".number_format($t)." ms,result: {$n}n";

$t = microtime(true)*1000;
for($i=0; $i<100000; $i++){
    $n = mb_substr("¤¢¤¨¤¤¤ª¤¦",-1,"UTF-8");
}
$t = microtime(true)*1000-$t;
echo "- mb_substr: ".number_format($t)." ms,result: {$n}n";

//set internal encoding
//and omit encoding parameter

mb_internal_encoding("UTF-8");
echo "nwith internal encoding:n";

$t = microtime(true)*1000;
for($i=0; $i<100000; $i++){
    $n = mb_strlen("¤¢¤¨¤¤¤ª¤¦");
}
$t = microtime(true)*1000-$t;
echo "- mb_strlen: ".number_format($t)." ms,1);
}
$t = microtime(true)*1000-$t;
echo "- mb_substr: ".number_format($t)." ms,result: {$n}n";

£¨±à¼­£ºÀî´óͬ£©

¡¾ÉùÃ÷¡¿±¾Õ¾ÄÚÈݾùÀ´×ÔÍøÂ磬ÆäÏà¹ØÑÔÂÛ½ö´ú±í×÷Õ߸öÈ˹۵㣬²»´ú±í±¾Õ¾Á¢³¡¡£ÈôÎÞÒâÇÖ·¸µ½ÄúµÄȨÀû£¬Ç뼰ʱÓëÁªÏµÕ¾³¤É¾³ýÏà¹ØÄÚÈÝ!

    ÍÆ¼öÎÄÕÂ
      ÈȵãÔĶÁ