上海龙凤419

php说话

操纵PHP自界说多进制

时候:2024-06-16 17:46:55 php说话 我要投稿
  • 相干保举

操纵PHP自界说多进制

  PHP自界说多进制的方式有哪些?就跟从百分网小编一路去领会下吧,想领会更多相干信息请延续存眷咱们应届毕业生测验网!

  以下所示:

  ?

  1

  2

  3

  4

  5

  6

  7

  8

  9

  10

  11

  12

  13

  14

  15

  16

  17

  18

  19

  20

  21

  22

  23

  24

  25

  26

  27

  28

  29

  30

  31

  32

  33

  34

  35

  36

  37

  38

  39

  40

  41

  42

  43

  /**

  * 自界说多进制,按照设置的多进制字符串获得十进制对应的多进制

  * @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自界说多进制】相干文章:

PHP若何自界说一个函数11-17

php自界说扩大名获得函数示例03-20

用php自界说函数之递归删除文件及目次11-17

PHP名目开辟中最常用的自界说函数清算03-17

PHP操纵header跳转生效的处理方式04-13

若何操纵PHP时候转换Unix时候戳代码11-17

若何启用Apache的PHP-FPM多实例03-20

八进制和十六进制07-05

PHP二维数组排序的3种方式和自界说函数分享11-25