PHP的ip2long和long2ip函数的实现原理
最近要做个十进制数字的可逆转换做邀请码,一直没搞清楚怎么弄的,实在太复杂了,今天弄IP时想到这个可以进行转换,于是研究了下原理:
主要是自己整理了下:
$ip = '12.34.56.78'; $ips = explode('.', $ip); $result = 0; $result += $ips[0]<<24; $result += $ips[1]<<16; $result += $ips[2]<<8; $result += $ips[3]; echo bindec(decbin($result)); echo '<br/>'; echo bindec(decbin(ip2long($ip))); echo '<br/>'; $str = ''; $str .= intval($result/intval(pow(2, 24))) .'.'; $str .= intval(($result&0x00FFFFFF)/intval(pow(2, 16))) .'.'; $str .= intval(($result&0x0000FFFF)/intval(pow(2, 8))) .'.'; $str .= intval($result&0x000000FF); echo $str; echo '<br/>'; echo long2ip($result);
以上输出的结果为:
203569230 203569230 12.34.56.78 12.34.56.78
这只是实现的一种方法而已,还有其他的办法
我是想用类似的方法,可以直接把一个十进制数字转换为其他十进制数值并可逆,但遇到中间有很多0的数值时发现问题太多了,如 1000100

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Membandingkan kedua-dua skrin, skrin IPS adalah lebih baik Lagipun, skrin IPS mempunyai sudut yang tinggi, kelajuan tindak balas sangat cepat, dan pembiakan warna juga sangat tepat untuk mengatasi skrin miniLED adalah lebih disyorkan untuk menggunakan skrin IPS. Skrin mana yang lebih baik, mini atau ips Jawapan: ips lebih baik. Jika miniled dibandingkan dengan ips, ips adalah lebih baik. Skrin IPS adalah produk yang agak tinggi di kalangan panel LCD Gambar sangat stabil dan tiada tanda air apabila disentuh. Kedua, ips mempunyai sudut tontonan yang tinggi, kelajuan tindak balas yang cepat, dan pembiakan warna yang tepat Dalam bidang reka bentuk, profesional dalam kategori ini suka menggunakannya. Apabila menikmati gambar bergerak berkelajuan tinggi, skrin keras IPS boleh memastikan kejelasan, kelancaran dan realisme

Fungsi letupan dalam PHP ialah fungsi yang digunakan untuk memisahkan rentetan kepada tatasusunan Ia sangat biasa dan fleksibel. Dalam proses menggunakan fungsi letupan, kami sering menghadapi beberapa ralat dan masalah Artikel ini akan memperkenalkan penggunaan asas fungsi letupan dan menyediakan beberapa kaedah untuk menyelesaikan laporan ralat. 1. Penggunaan asas fungsi explode Dalam PHP, sintaks asas fungsi explode adalah seperti berikut: explode(string$separator,string$stri

Tajuk: Ralat dan penyelesaian biasa apabila menggunakan fungsi explode dalam PHP Dalam PHP, fungsi explode ialah fungsi biasa yang digunakan untuk memisahkan rentetan kepada tatasusunan. Walau bagaimanapun, beberapa ralat biasa boleh berlaku disebabkan penggunaan yang tidak betul atau format data yang salah. Artikel ini akan menganalisis masalah yang mungkin anda hadapi apabila menggunakan fungsi letupan dan menyediakan penyelesaian serta contoh kod khusus. Kesilapan 1: Parameter pembatas tidak diluluskan. Apabila menggunakan fungsi letupan, salah satu kesilapan yang paling biasa ialah parameter pembatas tidak diluluskan.

Dalam pengaturcaraan PHP, pemprosesan rentetan adalah operasi yang kerap diperlukan. Antaranya, membelah dan menggabungkan rentetan adalah dua keperluan biasa. Untuk melaksanakan operasi ini dengan lebih mudah, PHP menyediakan dua fungsi yang sangat praktikal, iaitu fungsi meletup dan meletup. Artikel ini akan memperkenalkan penggunaan kedua-dua fungsi ini, serta beberapa kemahiran praktikal. 1. Fungsi explode Fungsi explode digunakan untuk membelah rentetan mengikut pembatas yang ditentukan dan mengembalikan tatasusunan. Prototaip fungsinya adalah seperti berikut: arra

Gunakan fungsi PHP "meletup" untuk memisahkan rentetan kepada tatasusunan Dalam pembangunan PHP, anda sering menghadapi situasi di mana anda perlu membelah rentetan mengikut pembatas yang ditentukan. Pada masa ini, kita boleh menggunakan fungsi terbina dalam PHP "meletup" untuk menukar rentetan kepada tatasusunan. Artikel ini akan memperkenalkan cara menggunakan fungsi "meletup" untuk memisahkan rentetan dan memberikan contoh kod yang berkaitan. Sintaks asas fungsi "explode" adalah seperti berikut: arrayexplode(

Penyelesaian kepada ralat php explode: 1. Cari dan buka kod PHP yang salah 2. Cari bahagian fungsi explode 3. Ubah suai kod kepada "dump(explode(',',$str)); , gunakan Hanya koma-pisahkan tatasusunan.

Dalam bahasa PHP, terdapat banyak fungsi asas yang boleh membantu kami memproses rentetan dengan cepat dan cekap. Antaranya, fungsi letupan adalah fungsi pemisahan rentetan yang sangat praktikal. Ia boleh memisahkan rentetan kepada tatasusunan mengikut pembatas yang ditentukan, dan kemudian melakukan operasi rentetan yang lebih fleksibel. Dalam artikel ini, kami akan memperkenalkan cara menggunakan fungsi explode untuk memisahkan rentetan dalam PHP. 1. Format fungsi explode Format fungsi explode dalam bahasa PHP adalah seperti berikut: explode(separa

Dell kini telah mengeluarkan monitor permainan Alienware terbarunya, kira-kira sebulan selepas penampilan pertamanya. Seperti yang dijangkakan, Alienware AW2725QF dijual secara runcit di AS pada harga $599, yang boleh dikelirukan dengan mudah untuk Alienware AW27 berasaskan QD-OLED yang lebih mahal.
