利用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新手易犯的幾個小錯誤,供大家參考。1、headeralreadysent這個錯誤通常會在你使用HEADER的時候出現,他可能是幾種原因。跟隨小編去看看吧!1、headeralreadysent這個錯誤通常會在你使用HEADER的時候出現,他可能是幾種原因:1,你在使用HEADER前PRING...
-
PHP基礎語言方面的筆試題和答案
伴隨着Facebook的成功,PHP這門解釋型的Web開發語言由於其清晰的定位繼續受到非常多的關注,當然對於中小企業和個人來説,Linux+Apache/Nginx+PHP+MySQL幾乎不用考慮服務器環境方面的成本;而對於開發者來説,在中小型項目開發中PHP也非常容易上手。以下是本站小編精心...
-
PHP中iconv函數知識
iconv函數庫能夠完成各種字符集間的轉換,是php編程中不可缺少的基礎函數庫。下面是小編為大家蒐集整理出來的有關於PHP中iconv函數知識,有需要的小夥伴可以參考下。今天在修改論文在線的時候,遇到了iconv這個函數。學習一下1234header('Content-Type:applicat...
-
PHP學習入門的一些基礎知識
導語:PHP是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。下面我們來看看PHP學習入門的一些基礎知識,希望對大家有所幫助。一,PHP腳本代碼標記PHP的腳本是文件中一對特殊標記所包括的內容,如ASP是“”,PHP可看...