Rumah >pembangunan bahagian belakang >tutorial php >Mengapa Penjana Rentetan Rawak PHP Saya Tidak Berfungsi?
Penjana Rentetan Rawak PHP: Menyelesaikan Masalah Masalah Biasa
Dalam PHP, menjana rentetan rawak ialah tugas biasa. Walau bagaimanapun, ia kadangkala boleh membawa kepada isu yang tidak dijangka. Pertimbangkan coretan kod berikut:
function RandomString() { $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; $randstring = ''; for ($i = 0; $i < 10; $i++) { $randstring = $characters[rand(0, strlen($characters))]; } return $randstring; } RandomString(); echo $randstring;
Walaupun coretan kod ini kelihatan mudah, ia sama sekali tidak menghasilkan output. Apa yang boleh berlaku?
Memahami Isu
Terdapat dua isu utama dengan kod:
Penyelesaian
Untuk menyelesaikan isu ini, kod boleh diubah suai seperti berikut:
function generateRandomString($length = 10) { $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; $charactersLength = strlen($characters); $randomString = ''; for ($i = 0; $i < $length; $i++) { $randomString .= $characters[random_int(0, $charactersLength - 1)]; } return $randomString; } // Echo the random string. echo generateRandomString(); // Optionally, you can give it a desired string length. echo generateRandomString(64);
Dalam kod yang dipertingkatkan ini, $randstring diisytiharkan di luar fungsi dan kembali sebagai hasilnya. Dalam gelung, aksara baharu dilampirkan pada nilai $randomString sedia ada. Selain itu, fungsi random_int digunakan dan bukannya rand untuk keselamatan yang dipertingkatkan.
Dengan menangani isu ini, kod kini akan menjana rentetan rawak dengan panjang yang ditentukan dan memaparkannya pada output.
Atas ialah kandungan terperinci Mengapa Penjana Rentetan Rawak PHP Saya Tidak Berfungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!