>  기사  >  백엔드 개발  >  PHP 학습에서 숫자 서수와 알파벳 서수 간의 상호 변환 예

PHP 학습에서 숫자 서수와 알파벳 서수 간의 상호 변환 예

little bottle
little bottle앞으로
2019-04-25 13:34:382306검색

이 기사의 편집자는 PHP를 사용하여 숫자 서수와 알파벳 서수의 상호 변환을 구현하는 방법에 대한 코드 예제를 공유할 것입니다. 관심 있는 친구는 다음을 수행할 수 있습니다. 이 글이 당신에게 도움이 되기를 바랍니다.

시퀀스숫자는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제