PHP 8. 2 memperkenalkan ekstensi PHP baru bernama _9, yang mengatur dan mengkonsolidasikan fungsionalitas PHP yang ada terkait dengan pembuatan angka acak, dan memperkenalkan serangkaian struktur kelas PHP dan kelas pengecualian untuk menyediakan pilihan granular generator angka acak dan penanganan pengecualian Show Ekstensi 9 dibundel dengan PHP, dan tidak ada opsi konfigurasi waktu kompilasi atau waktu proses untuk menonaktifkan ekstensi 9. Ekstensi 9 akan selalu tersedia di PHP 8. 2 dan selanjutnyaAda beberapa perubahan yang dibuat pada fungsionalitas pembuatan nomor acak yang seharusnya tidak menyebabkan masalah kompatibilitas mundur di seluruh versi PHP. Namun, perhatikan bahwa aplikasi dan alat PHP yang memeriksa fungsi terkait nomor acak PHP (misalnya, menggunakan 3 atau 4 dari Reflection APIs) mungkin mendapatkan hasil yang berbeda di PHP 8. 2 dan selanjutnya. Namun, skenario ini cukup khusus dan tidak mungkin menyebabkan masalah apa pun dalam aplikasi PHP biasa
PHP memiliki beberapa fungsi dalam pustaka standarnya yang menghasilkan angka acak. Di PHP8. 2, beberapa fungsi PHP dipindahkan ke ekstensi 9 yang baru. Semua fungsi terus berada di namespace global. Karena ekstensi _9 selalu disertakan saat kompilasi PHP, seharusnya tidak ada perbedaan praktis dalam aplikasi PHPFungsi dan konstanta berikut sekarang dipindahkan ke ekstensi 9
Meskipun fungsionalitas fungsi-fungsi di atas tidak berubah (selain penggunaan random-specific baru), perubahan ini dapat diamati dari Reflection API. Sejak PHP 8. 2, ekstensi _9 mengembalikan ekstensi 9 alih-alih ekstensi 1 sebelumnya
Mengikuti kebijakan namespace PHP yang diadopsi, semua fungsionalitas baru yang diperkenalkan di ekstensi 9 ditambahkan ke namespace baru yang disebut 2Namespace 2 dicadangkan untuk ekstensi. Aplikasi PHP yang ada yang menggunakan namespace 2 dapat terus menggunakannya, selama tidak ada konflik dengan yang baru , , dan ditambahkan di PHP 8. 2Salah satu tambahan baru terpenting dengan ekstensi 9 yang baru adalah kelas 7. Ini dimaksudkan untuk menyediakan API berorientasi objek untuk mengakses semua fungsi pembuatan Angka Acak dengan pilihan algoritma Pseudo Random Number Generator, yang dapat ditukar dengan implementasi baruBerikut ini adalah contoh yang menghasilkan nomor acak menggunakan kelas 7 yang baru
Untuk contoh terperinci, lihat bagian _7 sinopsis _PHP 8. 2 menambahkan dukungan untuk beberapa algoritma Pseudo Random Number Generator (mesin PRNG). kelas menerima implementasi PRNG apa pun yang menyediakan antarmuka berorientasi objek untuk menghasilkan angka dan byte acak, array acak, dan secara acak memilih elemen dari array dengan mesin PRNG yang diberikan Ekstensi 9 menyediakan antarmuka 4 yang harus diterapkan oleh semua kelas mesin PRNG. Selain itu, ada antarmuka _5 yang memperluas antarmuka 4 untuk kelas mesin PRNG yang aman untuk operasi kriptografi _Ekstensi 9 menyediakan empat 4 implementasi bawaan. Semua implementasi ini adalah 9 kelas _8 adalah kelas PHP bawaan yang mengimplementasikan antarmuka. Ini menggunakan Mersenne Twister Random Number Generator yang sama dengan fungsi 2. Dimungkinkan juga untuk menyemai algoritme dengan nilai arbitrer saat kelas dibuat instance-nya. Mesin ini tidak cocok untuk aplikasi yang aman secara kriptografis karena keadaan internal RNG dapat diturunkan dengan mengamati nilai keluaran berurutan _8 sinopsis
Kelas _9 menyediakan implementasi generator kongruensial Permutasi. Mesin ini tidak cocok untuk aplikasi yang aman secara kriptografis _9 sinopsis
0 kelas menyediakan implementasi Xoshiro PRNG di PHP. Meskipun mesin _0 tidak cocok untuk aplikasi yang aman secara kriptografis, ini adalah yang tercepat di antara mesin yang disediakan karena kesederhanaannya, menjadikannya kandidat yang baik untuk aplikasi yang perlu mengacak kumpulan data (seperti mengacak tayangan slide) _0 sinopsis
Kelas _1 menyediakan implementasi yang sama dengan fungsi 6 dan 7, dan direkomendasikan untuk digunakan untuk semua pembuatan angka acak, termasuk juga aman untuk operasi kriptografi _1 sinopsis
Sebagai bagian dari perubahan dan pengenalan ekstensi _9 baru, ada jenis Pengecualian dan Kesalahan baru. Mesin PRNG dan kelasnya, dan fungsi penghasil angka acak yang ada memberikan Pengecualian dan Kesalahan yang lebih terperinci di PHP 8. 2 dan selanjutnya
Sejak PHP 8. 2 dan yang lebih baru, 7, 6, dan fungsi lain yang sudah ada dapat membuang 1, 2, dan 3 pengecualian jika berlaku. Namun, ini tidak mungkin menimbulkan masalah kompatibilitas mundur karena Pengecualian dan Kesalahan baru jenis 4 basis 8 dan 7 kelasBerikut adalah beberapa contoh penggunaan kelas _7 baru dengan berbagai mesin, serta beberapa pola penggantianMenghasilkan angka acak antara 1 dan 100
Kocok sebuah string 0Perhatikan bahwa metode _8 melakukan persis seperti yang tertulis di namanya. mengocok byte. Untuk karakter multi-byte, ini menghasilkan teks terdistorsi/MojibakeKocok sebuah array _1Menggunakan _9 Mesin _2Menggunakan _9 Mesin dengan benih _3Menggunakan _0 Mesin dengan benih _4Menggunakan _02 Mesin dengan benih 5Menggunakan Mesin tiruan yang mengembalikan nilai yang sama, untuk digunakan dalam pengujian unit _6Mengganti 6 panggilan _7Dampak Kompatibilitas Mundur _9 adalah ekstensi baru yang ditambahkan ke PHP. Aplikasi PHP yang ada seharusnya tidak menyebabkan masalah apa pun di PHP 8. 2 dan selanjutnya sehubungan dengan perubahan yang terkait dengan ekstensi 9. Namun, berhati-hatilah saat menggunakan [kelas Pengecualian dan Kesalahan baru] karena versi PHP yang lebih lama memberikan lebih banyak pengecualian umum pada kondisi yang samaDimungkinkan untuk mem-port bagian dari fungsionalitas baru ini ke versi PHP yang lebih lama sebagai polyfill, tetapi dan akan sangat sulit untuk mem-back-port karena PRNG yang mendasari secara komputasi sulit untuk ditiru. Misalnya, _02 adalah mesin 128 bit tanpa tanda tangan, yang sulit ditiru pada bilangan bulat 64 bitArtikel ini diperbarui dengan dukungan dan masukan dari Tim Düsterhus, salah satu pengelola ekstensi 9 yang baru
Bagaimana cara mendapatkan nomor acak di PHP? rand() adalah fungsi bawaan dalam PHP yang digunakan untuk menghasilkan angka acak yaitu. , ini dapat menghasilkan nilai integer acak dalam rentang [min, max]. Sintaksis. rand(); .
Bagaimana cara membuat nomor yang dibuat secara otomatis di PHP?rand() metode untuk Pembuatan Angka Acak
. jadi tidak perlu melakukan apa-apa pada saat itu karena kami belum memberikan argumen kami
Bagaimana Anda mengacak kode?Contoh . Angka acak antara 0 dan 100. nilai = rand() * 100; A Acak benar atau salah. keputusan = (rand() >. 5); Angka acak antara 50 dan 100. x = (rand() * 50) + 50; Bilangan bulat acak antara 1 dan 10. Untuk mendapatkan bilangan bulat dari nilai floating point kita bisa menggunakan fungsi seperti round atau ceil atau floor Bagaimana cara menghasilkan 10 digit angka acak di PHP?rand() atau mt_rand() dapat digunakan untuk Menghasilkan 10 Digit Angka Acak dalam PHP. |