您現在的位置是:網站首頁>PHPPHP自定義多進制的方法

PHP自定義多進制的方法

宸宸2024-04-22PHP50人已圍觀

給大家整理一篇PHP多進制相關的編程文章,網友陳梅青根據主題投稿了本篇教程內容,涉及到php、多進制相關內容,已被560網友關注,涉獵到的知識點內容可以在下方電子書獲得。

如下所示:

/**
 * 自定義多進制,根據設置的多進制字符串獲取十進制對應的多進制
 * @param $str 自定義的多進制字符串
 * @param $num 十進制數字
 * @return $xbin 對應的多進制數字
 */
function xbin($str, $num){
  $num = floatval($num);
  $x = strlen($str);
  $arr = str_split($str);
  $digit = fmod($num, $x);
  $xbin = isset($arr[$digit]) ? $arr[$digit] : null;
  $pre_digit = floor($num / $x);
  if($pre_digit >= 1){
    $pre_digit = xbin($str, $pre_digit);
    return $pre_digit.$xbin;
  }
  return $xbin;
}

// 測試8進制
$str = '01234567';
$a = xbin($str, 9);
$b = decoct(9);
dump($a); // string(2) "11"
dump($b); // string(2) "11"

// 測試16進制
$str = '0123456789abcdef';
$a = xbin($str, 31);
$b = dechex(31);
dump($a); // string(2) "1f"
dump($b); // string(2) "1f"

// 自定義30進制
$str = '0123456789abcdefghijklmnopqrst';
$a = xbin($str, 59);
dump($a); // string(2) "1t"

// 自定義92進制
$str = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`~!@#$%^&*()-=[];\',./{}:"<>?\|';
$a = xbin($str, 183);
dump($a); // string(2) "1|"

以上就是小編爲大家帶來的PHP自定義多進制的方法全部內容了,希望大家多多支持碼辳之家~

我的名片

網名:星辰

職業:程式師

現居:河北省-衡水市

Email:[email protected]