Dalam PHP, menyemak sama ada pembolehubah ialah integer adalah penting untuk pengesahan data dan paksaan jenis. Walaupun fungsi is_int() mungkin kelihatan seperti pilihan yang jelas, ia mungkin tidak boleh dipercayai untuk beberapa kes tertentu. Artikel ini bertujuan untuk menyediakan kaedah alternatif untuk menentukan dengan tepat sama ada pembolehubah mewakili integer.
Menggunakan is_numeric() untuk menyemak integer tidak disyorkan kerana ia akan kembali BENAR walaupun untuk nilai angka bukan integer seperti 3.14. Untuk mengelakkan perangkap ini, pertimbangkan untuk menggunakan salah satu daripada pilihan berikut:
Penapis FILTER_VALIDATE_INT boleh digunakan untuk mengesahkan input integer:
<code class="php"><?php if (filter_var($variable, FILTER_VALIDATE_INT) === false) { // Variable is not an integer }</code>
Pemutus rentetan juga boleh digunakan untuk menentukan sama ada pembolehubah ialah integer:
<code class="php"><?php if (strval($variable) !== strval(intval($variable))) { // Variable is not an integer }</code>
Ctype_digit() fungsi menyemak jika rentetan mengandungi digit sahaja:
<code class="php"><?php if (!ctype_digit(strval($variable))) { // Variable is not an integer (positive numbers and 0 only) }</code>
Ungkapan biasa boleh digunakan untuk mengesahkan input integer:
<code class="php"><?php if (!preg_match('/^-?\d+$/', $variable)) { // Variable is not an integer }</code>
Alternatif ini menyediakan kaedah yang mantap untuk mengesahkan sama ada pembolehubah ialah integer dalam PHP. Dengan menggunakan pendekatan yang sesuai, anda boleh memastikan ketepatan dan mengelakkan potensi isu yang dikaitkan dengan is_int().
Atas ialah kandungan terperinci Cara Semak dengan Tepat sama ada Pembolehubah PHP ialah Integer: Kaedah Alternatif. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!