ホームページ >バックエンド開発 >PHPの問題 >php strrev関数はどのような機能を実現できますか?

php strrev関数はどのような機能を実現できますか?

青灯夜游
青灯夜游オリジナル
2021-03-26 18:47:422594ブラウズ

strrev() は、文字列を反転して反転した文字列を返すことができる PHP の組み込み関数です。その構文形式は「strrev(string)」で、パラメータ文字列が使用されます。逆になるので省略できません。

php strrev関数はどのような機能を実現できますか?

このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

php strrev() 関数

trrev() 関数は文字列を反転します。構文は次のとおりです。

strrev(string)

パラメータの説明:

  • 文字列: 必須。反転する文字列を指定します。

戻り値: 反転した文字列を返します。

例 1: 英語の文字列を逆引きする

<?php
echo strrev("Hello world!"); 
?>

出力:

!dlrow olleH

例 2: 数字を逆引きする

<?php  
$num = 134; 
echo "反转前:"; 
var_dump($num);
  
// 输出反转的数字
echo "反转后:"; 
var_dump(strrev($num));
?>

出力:

反转前:int(134)
反转后:string(3) "431"

説明: strrev() 関数は、数値を数値文字列に変換し、それを逆にします。

例 3: 中国語の反転

<?php  
header("content-type:text/html;charset=utf-8"); 
$str = "欢迎来到这里!"; 
function cnstrrev($str)
{
  $len = strlen($str);
  for($i = 0; $i < $len; $i++)
  {
    $char = $str{0};
    if(ord($char) > 127) //ord()函数取得第一个字符的ASCII码,如果大于0xa0(127)的话则是中文字符
    {
      $i+=2;//utf-8编码的情况下,一个中文字符占三个字节
      if($i < $len)
      {
        $arr[] = substr($str, 0, 3);//utf-8编码的情况下,一个中文字符占三个字节
        $str = substr($str, 3);
      }
    }
    else
    {
      $arr[] = $char;
      $str = substr($str, 1);//否则为非中文,占一个字符
    }
  }
  return join(array_reverse($arr));//以相反的元素顺序返回数组:
}
// 输出反转的字符串
echo &#39;反转前:&#39;.$str.&#39;<br><br>反转后:&#39;.cnstrrev($str);
?>

出力:

反转前:欢迎来到这里!

反转后:!里这到来迎欢

説明: strrev() 関数を使用して中国語を反転すると、中国語が表示されます。コードの文字化けの問題; コードの文字化けの問題は、中国語の文字列をトラバースしてエンコード形式を設定する関数をカスタマイズすることで解決できます。

推奨学習: 「PHP ビデオ チュートリアル

以上がphp strrev関数はどのような機能を実現できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。