ホームページ > バックエンド開発 > PHPチュートリアル > PHP学習のための数値序数とアルファベットの相互変換例

PHP学習のための数値序数とアルファベットの相互変換例

little bottle
リリース: 2023-04-06 10:52:02
転載
2308 人が閲覧しました

この記事の編集者が、PHP を使用して数値序数とアルファベット序数の相互変換を実現するコード例を共有します。一定の参考価値があります。興味のある友人は、見てください。お役に立てば幸いです。インスピレーションを得て。

#Order数値は 1 から始まります。つまり、A=1

/**
   * 数字序列转字母序列
   * @param $int
   * @param int $start
   * @return string|bool
   */
  function int_to_chr_1($int, $start = 64)
  {
    if (!is_int($int) || $int <= 0) return false;
    $str = &#39;&#39;;
    if (floor($int / 26) > 0) {
      $str .= int_to_chr_1((int)floor($int / 26));
    }
    return $str . chr($int % 26 + $start);
  }

  /**
   * 数字序列转字母序列
   * @param $int
   * @return string|bool
   */
  function int_to_chr_2($int)
  {
    if (!is_int($int) || $int <= 0) return false;

    $array = array(&#39;A&#39;, &#39;B&#39;, &#39;C&#39;, &#39;D&#39;, &#39;E&#39;, &#39;F&#39;, &#39;G&#39;, &#39;H&#39;, &#39;I&#39;, &#39;J&#39;, &#39;K&#39;, &#39;L&#39;, &#39;M&#39;, &#39;N&#39;, &#39;O&#39;, &#39;P&#39;, &#39;Q&#39;, &#39;R&#39;, &#39;S&#39;, &#39;T&#39;, &#39;U&#39;, &#39;V&#39;, &#39;W&#39;, &#39;X&#39;, &#39;Y&#39;, &#39;Z&#39;);
    $str = &#39;&#39;;
    if ($int > 26) {
      $str .= int_to_chr_2((int)floor($int / 26));
      $str .= $array[$int % 26 - 1];
      return $str;
    } else {
      return $array[$int - 1];
    }
  }

  /**
   * 字母序列转数字序列
   * @param $char
   * @return int|bool
   */
  function chr_to_int($char)
  {
    //检测字符串是否全字母
    $regex = &#39;/^[a-zA-Z]+$/i&#39;;

    if (!preg_match($regex, $char)) return false;

    $int = 0;
    $char = strtoupper($char);
    $array = array(&#39;A&#39;, &#39;B&#39;, &#39;C&#39;, &#39;D&#39;, &#39;E&#39;, &#39;F&#39;, &#39;G&#39;, &#39;H&#39;, &#39;I&#39;, &#39;J&#39;, &#39;K&#39;, &#39;L&#39;, &#39;M&#39;, &#39;N&#39;, &#39;O&#39;, &#39;P&#39;, &#39;Q&#39;, &#39;R&#39;, &#39;S&#39;, &#39;T&#39;, &#39;U&#39;, &#39;V&#39;, &#39;W&#39;, &#39;X&#39;, &#39;Y&#39;, &#39;Z&#39;);
    $len = strlen($char);
    for ($i = 0; $i < $len; $i++) {
      $index = array_search($char[$i], $array);
      $int += ($index + 1) * pow(26, $len - $i - 1);
    }
    return $int;
  }


  echo &#39;<br>&#39;, int_to_chr_1(8848);
  echo &#39;<br>&#39;, int_to_chr_2(8848);
  echo &#39;<br>&#39;, chr_to_int(&#39;MBH&#39;);
ログイン後にコピー

関連チュートリアル:

PHP ビデオ チュートリアル

以上がPHP学習のための数値序数とアルファベットの相互変換例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:cnblogs.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート