Rumah > Artikel > pembangunan bahagian belakang > php ditetapkan kepada jenis integer panjang
PHP ialah bahasa pengaturcaraan peringkat tinggi tujuan umum yang digunakan secara meluas dalam pembangunan web. PHP mempunyai tetapan lalai bahawa jenis integer ialah integer bertanda 32-bit. Ini bermakna integer terbesar yang boleh diwakili ialah 2^31-1, iaitu 2147483647. Jika anda perlu mengendalikan nombor yang besar, seperti integer yang sangat besar atau integer melebihi 32 bit, maka anda perlu menetapkan jenis integer dalam PHP kepada jenis integer panjang.
Mengapa anda perlu menetapkan PHP kepada jenis integer panjang?
Jenis integer lalai PHP mungkin tidak memenuhi beberapa keperluan. Sebagai contoh, apabila anda perlu melakukan pengiraan pada nombor yang besar, jenis integer lalai PHP mungkin mengembalikan hasil pengiraan yang salah. Ini kerana jenis integer lalai PHP hanya boleh mewakili maksimum integer bertanda 32-bit. Jika hasil pengiraan anda melebihi julat ini, limpahan akan berlaku, mengakibatkan hasil pengiraan yang salah.
Jenis integer panjang membolehkan anda melakukan pengiraan nombor besar dan pengiraan integer melebihi 32 bit tanpa ralat limpahan. Apabila jenis integer PHP ditetapkan kepada panjang, anda boleh menggunakan fungsi matematik baharu seperti fungsi GMP untuk melakukan pengiraan nombor besar.
Bagaimana untuk menetapkan PHP kepada jenis integer panjang?
Untuk menetapkan PHP kepada jenis integer panjang, anda perlu membuat perubahan dalam fail php.ini. Mula-mula, anda perlu mencari lokasi fail php.ini. Pada sistem Unix/Linux, fail ini biasanya terdapat dalam /etc/php.ini atau /etc/php5.ini. Dalam sistem Windows, fail php.ini boleh didapati dalam direktori pemasangan PHP. Selepas membuka fail php.ini, anda perlu mencari baris berikut:
; Default value: On ; Development value: Off ; Production value: Off ; http://php.net/precision precision = 14
Baris ini membolehkan anda menetapkan ketepatan nombor titik terapung. Anda perlu menetapkan parameter "ketepatan" kepada -1 supaya PHP boleh ditetapkan kepada jenis integer panjang. Baris pertama yang diubah suai sepatutnya kelihatan seperti ini:
; Default value: On ; Development value: Off ; Production value: Off ; http://php.net/precision precision = -1
Setelah anda selesai mengubah suai, anda perlu memulakan semula penterjemah PHP untuk memastikan perubahan itu berkuat kuasa.
Anda mungkin bertanya, mengapa anda perlu menetapkan parameter ketepatan apungan kepada -1 untuk menetapkan PHP kepada jenis integer panjang? Ini kerana jika anda menetapkan ketepatan kepada 0, sebarang pengiraan titik terapung akan dilumpuhkan, walaupun ini bukan tujuan asal anda. Sebaliknya, jika anda menetapkan ketepatan kepada 1, ia akan menetapkan PHP kepada jenis integer pendek.
Perkara yang perlu diberi perhatian
Sila ambil perhatian bahawa selepas menetapkan jenis integer kepada jenis integer panjang dalam PHP, semua pengiraan integer akan menggunakan jenis integer panjang. Ini akan menghasilkan pengiraan yang lebih perlahan, terutamanya apabila berurusan dengan nombor yang besar. Jika aplikasi anda hanya perlu mengendalikan sebilangan kecil pengiraan nombor besar, sebaiknya jangan tetapkan PHP kepada jenis integer panjang.
Selain itu, selepas menetapkan PHP kepada jenis integer panjang, anda juga perlu menggunakan fungsi GMP dalam PHP untuk melakukan pengiraan nombor besar. Fungsi ini boleh didapati dalam dokumentasi rasmi PHP dan menyediakan antara muka biasa untuk melakukan pengiraan ketepatan tinggi.
Kesimpulan
Menetapkan jenis integer PHP kepada jenis integer panjang boleh menyelesaikan masalah pengiraan nombor besar dan pengiraan integer melebihi 32 bit. Walaupun ini mungkin membuat pengiraan lebih perlahan, ia adalah perlu jika anda perlu berurusan dengan nombor yang besar. Menetapkan jenis integer panjang PHP adalah sangat mudah. Hanya tetapkan ketepatan titik terapung kepada -1 dalam fail php.ini. Tetapi sedar bahawa semua pengiraan integer akan berada dalam jenis integer panjang, dan anda perlu menggunakan fungsi GMP untuk melakukan pengiraan nombor besar.
Atas ialah kandungan terperinci php ditetapkan kepada jenis integer panjang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!