Stilly

Stilly

بېكەت باشلىقى

يازمىلىرى
ئەگەشكۈچىلىرى
ئەگەشكەنلىرى
74
32
0

php دا ھەرپ-بەلگە تىزىقى (字符串)نى تەتۈر تېزىش

php دا ھەرپ-بەلگە تىزىقى (字符串)نى بىر تەرەپ قىلىدىغان فۇنكىسىيەلەر ساماندەك بولۇپ،تۆۋەندە  ھەرپ-بەلگە تىزىقىنى تەتۈر تېزىش توغرىسىدا توختىلىپ ئۆتەيلى.نىمىشقا بۇنى سۆزلەيمىز؟چۈنكى يۈز تۇرانى ئىمتاھاندا ئۇچراپ قالدى ئەمەسمۇ،ھا ھا ھا.....


ناۋادا سىزگە 'php دا ھەرپ-بەلگە تىزىقى (字符串)نى تەتۈر تېزىڭ' دەپ سۇئال چىقىپ قالسا قاندا جاۋاب بىرىسىز؟

بەلكىم php قوللانمىسىنى كۆرۈپ باققانلار دەرھاللا strrev فۇنكىسىيەسىنى ئىشلەتسەك بولىدۇ دەپ جاۋاب بېرىىشى مومكىن.بۇ جاۋاب توغرا.تۆۋەندە مىسال ئارقىلىق كۆرۈپ باقايلى.

<?php
header('Content-type:text/html;charset=utf8');
$string = 'oyghanbeg';
//echo strrev($string);
//输出 gebnahgyo


$uyghurche = 'ئويغانبەگ';
//echo strrev($uyghurche);
//输出乱码


لىكىن بۇ يەردە يەنە بىر مەسىلە بار.يەنى strrev فۇنكىسىيەسى پەقەت ئىنگىلىزچە ھەرپ-بەلگىلەرنىلا توغرا بىر تەرەپ قىلالايدۇ،ئۇنداقتا ئۇيغۇرچە ياكى خەنزۇچە ۋە باشقا يېزىقلارنى بىر تەرەپ قىلىشتا قانداق قىلىمىز؟

جاۋابى ئۆزىمىز فۇنكىسىيە يازىمىز.

php مەخسۇس ئوخشىمىغان كودلانغان ييېزىقلارنى بىر تەرەپ قىلىش ئۈچۈن _mb تۈرىدىكى فۇنكىسىيەلەرنى تەمىنلىگەن.مەسىلەنmb_strlen،mb_substr قاتارلىقلار.بۇ ۋاقىتتا بىز يەنىلە _mb تۈرىدىكى فۇنكىسىيەلەردىن پايدىلىنىپ يۇقارقى مەسىلىنى ھەل قىلساق بولىدۇ.يەنى تۆۋەندىكى كودقا قاراپ باقايلى:

<?php
header('Content-type:text/html;charset=utf8');
$string = 'oyghanbeg';
//echo strrev($string);
//输出 gebnahgyo


$uyghurche = 'ئويغانبەگ';
//echo strrev($uyghurche);
//输出乱码


/**
 * 自定义字符串反转函数
 * @param $str  string  字符串
 * @param string $encoding  字符串编码
 */
function Reversal($str,$encoding = 'utf-8')
{
    $result = '';
    $len = mb_strlen($str);
    for($i=$len-1; $i>=0; $i--){
        $result .= mb_substr($str,$i,1,$encoding);
    }
    return $result;
}

echo Reversal($uyghurche);
//输出 گەبناغيوئ
?>

تامام.