菜鸟问个简单的逻辑问题,求解答
逻辑 菜鸟 简单的
我是想实现62进制的功能,可是下面这段代码只能echo出来,不能返回,不知道是什么原因,求高手解答function dwz($id,$str=""){ $a=array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"); $zs=(int)($id/sizeof($a)); $xs=$id%sizeof($a); if($zs>=sizeof($a)){ $str=$a[$xs].$str; dwz($zs,$str); } else{ if($str==""){ return $a[$zs].$a[$xs]; } else{ echo $a[$zs].$str;//这里只能输出 return $a[$zs].$str;//返回没值,不知道什么原因 } }}for($i=999990;$i<=1000000;$i++){ echo dwz($i); echo "<br>";}
回复讨论(解决方案)
第7行 dwz($zs,$str);
没有承接返回
$str = dwz($zs,$str);
函数结束处还需要有 return $str;
if($zs>=sizeof($a)){ $str=$a[$xs].$str; dwz($zs,$str); //这里加入return: return dwz($zs, $str); }
第7行 dwz($zs,$str);
没有承接返回
$str = dwz($zs,$str);
函数结束处还需要有 return $str;
哈哈,可以啦,谢谢你的提醒和指导
这样写也可以,可逆的前不限长度
echo convert_62(999990); //4C8secho convert_62('4C8s', 1); //999990function convert_62($s, $mode=0) { $d = str_split('0123456789ABCDEFGHIJKLMNOPQRSTUVEXYZabcdefghijklmnopqrstuvwxyz'); $r = ''; if($mode) { $d = array_flip($d); for($i=0; $i<strlen($s); $i++) $r = bcmul($r, '62') + $d[$s{$i}]; }else { while($s) { $r = $d[bcmod($s, '62')] . $r; $s = bcdiv($s, '62'); } } return $r;}
这样写也可以,可逆的前不限长度
echo convert_62(999990); //4C8secho convert_62('4C8s', 1); //999990function convert_62($s, $mode=0) { $d = str_split('0123456789ABCDEFGHIJKLMNOPQRSTUVEXYZabcdefghijklmnopqrstuvwxyz'); $r = ''; if($mode) { $d = array_flip($d); for($i=0; $i<strlen($s); $i++) $r = bcmul($r, '62') + $d[$s{$i}]; }else { while($s) { $r = $d[bcmod($s, '62')] . $r; $s = bcdiv($s, '62'); } } return $r;}
受用了,谢谢你
这样写也可以,可逆的前不限长度
echo convert_62(999990); //4C8secho convert_62('4C8s', 1); //999990function convert_62($s, $mode=0) { $d = str_split('0123456789ABCDEFGHIJKLMNOPQRSTUVEXYZabcdefghijklmnopqrstuvwxyz'); $r = ''; if($mode) { $d = array_flip($d); for($i=0; $i<strlen($s); $i++) $r = bcmul($r, '62') + $d[$s{$i}]; }else { while($s) { $r = $d[bcmod($s, '62')] . $r; $s = bcdiv($s, '62'); } } return $r;}
不好意思,请问下为什么我把这个文件放在本地测试可以用,但是放在服务器上不能用,会提示找不到bcmod这个函数
嗯,这是 php_bc 扩展没加载的原因(php for win 是自动加载的)
你还可以检查一下 php_gmp 扩展是否已加载,用这个函数库也是一样的
嗯,这是 php_bc 扩展没加载的原因(php for win 是自动加载的)
你还可以检查一下 php_gmp 扩展是否已加载,用这个函数库也是一样的
真的没有加载,那怎么办啊?
我没服务器的权限
print_r(get_loaded_extensions());
看看都有些什么
print_r(get_loaded_extensions());
看看都有些什么
Array( [0] => date [1] => libxml [2] => openssl [3] => pcre [4] => zlib [5] => ctype [6] => curl [7] => dom [8] => filter [9] => ftp [10] => gd [11] => hash [12] => iconv [13] => json [14] => mbstring [15] => mcrypt [16] => mhash [17] => mysql [18] => SimpleXML [19] => SPL [20] => PDO [21] => posix [22] => Reflection [23] => session [24] => pdo_sqlite [25] => sockets [26] => SQLite [27] => standard [28] => tokenizer [29] => xml [30] => xmlreader [31] => xmlwriter [32] => zip [33] => apache2handler [34] => memcache [35] => mssql [36] => soap [37] => Zend Optimizer)
没权限就不好办了
就自己写吧,你不是也写了吗
没权限就不好办了
就自己写吧,你不是也写了吗
我写的那个有错,发现运算到后面就错了,然后就用了你的
还是没搞清楚我的那个错在哪里,为什么运算到后面就错了
大神,帮忙看下吧
function dwz($id,$str=""){$a=array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"); $zs=(int)($id/sizeof($a)); $xs=$id%sizeof($a); if($zs>=sizeof($a)){ $str=$a[$xs].$str; $str=dwz($zs,$str); } else{ if($str==""){return $a[$zs].$a[$xs];} else{return $a[$zs].$str;} } return $str;}
这是我根据你的提示改的,可以显示出来,但是我之前的算法有错,帮忙看下
终于可以了,谢谢大神
function dwz($s) { $d = str_split('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVEXYZ'); $r = ''; while($s) { $r = $d[(int)($s%62)].$r; $s = (int)($s/62); } return $r;}

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











Terdapat empat jenis kesilapan utama dalam PHP: 1.Notice: yang paling sedikit, tidak akan mengganggu program, seperti mengakses pembolehubah yang tidak ditentukan; 2. Amaran: Serius daripada notis, tidak akan menamatkan program, seperti tidak mengandungi fail; 3. FatalError: Yang paling serius, akan menamatkan program ini, seperti tidak memanggil fungsi; 4. ParseError: Kesalahan sintaks, akan menghalang program daripada dilaksanakan, seperti lupa untuk menambah tag akhir.

Dalam php, kata laluan_hash dan kata laluan 1) password_hash menjana hash yang mengandungi nilai garam untuk meningkatkan keselamatan. 2) Kata Laluan_verify Sahkan kata laluan dan pastikan keselamatan dengan membandingkan nilai hash. 3) MD5 dan SHA1 terdedah dan kekurangan nilai garam, dan tidak sesuai untuk keselamatan kata laluan moden.

PHP dan Python masing -masing mempunyai kelebihan mereka sendiri, dan memilih mengikut keperluan projek. 1.PHP sesuai untuk pembangunan web, terutamanya untuk pembangunan pesat dan penyelenggaraan laman web. 2. Python sesuai untuk sains data, pembelajaran mesin dan kecerdasan buatan, dengan sintaks ringkas dan sesuai untuk pemula.

PHP digunakan secara meluas dalam e-dagang, sistem pengurusan kandungan dan pembangunan API. 1) e-dagang: Digunakan untuk fungsi keranjang belanja dan pemprosesan pembayaran. 2) Sistem Pengurusan Kandungan: Digunakan untuk penjanaan kandungan dinamik dan pengurusan pengguna. 3) Pembangunan API: Digunakan untuk Pembangunan API RESTful dan Keselamatan API. Melalui pengoptimuman prestasi dan amalan terbaik, kecekapan dan pemeliharaan aplikasi PHP bertambah baik.

Kaedah permintaan HTTP termasuk GET, POST, PUT dan DELETE, yang digunakan untuk mendapatkan, menghantar, mengemas kini dan memadam sumber masing -masing. 1. Kaedah GET digunakan untuk mendapatkan sumber dan sesuai untuk operasi membaca. 2. Kaedah Pos digunakan untuk menyerahkan data dan sering digunakan untuk membuat sumber baru. 3. Kaedah Put digunakan untuk mengemas kini sumber dan sesuai untuk kemas kini lengkap. 4. Kaedah Padam digunakan untuk memadam sumber dan sesuai untuk operasi penghapusan.

PHP adalah bahasa skrip yang digunakan secara meluas di sisi pelayan, terutamanya sesuai untuk pembangunan web. 1.PHP boleh membenamkan HTML, memproses permintaan dan respons HTTP, dan menyokong pelbagai pangkalan data. 2.PHP digunakan untuk menjana kandungan web dinamik, data borang proses, pangkalan data akses, dan lain -lain, dengan sokongan komuniti yang kuat dan sumber sumber terbuka. 3. PHP adalah bahasa yang ditafsirkan, dan proses pelaksanaan termasuk analisis leksikal, analisis tatabahasa, penyusunan dan pelaksanaan. 4.Php boleh digabungkan dengan MySQL untuk aplikasi lanjutan seperti sistem pendaftaran pengguna. 5. Apabila debugging php, anda boleh menggunakan fungsi seperti error_reporting () dan var_dump (). 6. Mengoptimumkan kod PHP untuk menggunakan mekanisme caching, mengoptimumkan pertanyaan pangkalan data dan menggunakan fungsi terbina dalam. 7

PHP mengendalikan fail muat naik melalui pembolehubah fail $ \ _. Kaedah untuk memastikan keselamatan termasuk: 1. Semak kesilapan muat naik, 2. Sahkan jenis dan saiz fail, 3. Mencegah penindasan fail, 4. Pindahkan fail ke lokasi storan tetap.

Dalam phpoop, diri :: merujuk kepada kelas semasa, ibu bapa :: merujuk kepada kelas induk, statik :: digunakan untuk mengikat statik lewat. 1.Self :: digunakan untuk kaedah statik dan panggilan berterusan, tetapi tidak menyokong pengikatan statik lewat. 2.Parent :: digunakan untuk subkelas untuk memanggil kaedah kelas induk, dan kaedah peribadi tidak dapat diakses. 3.Static :: Menyokong pengikatan statik lewat, sesuai untuk warisan dan polimorfisme, tetapi boleh menjejaskan kebolehbacaan kod.
