Intval lwn. Casting ke Int: Peperiksaan Lebih Dekat
Dalam PHP, penukaran pembolehubah kepada integer boleh dicapai menggunakan sama ada intval () fungsi atau dengan menghantarnya kepada integer menggunakan (int). Walaupun kedua-dua kaedah kelihatan melakukan tugas yang sama, terdapat perbezaan yang ketara di antara mereka.
Intval: Menawarkan Penukaran Asas
Perbezaan utama terletak pada keupayaan intval () untuk menentukan asas dari mana untuk menukar pembolehubah. Ini amat berguna apabila berurusan dengan nombor bukan perpuluhan.
Contohnya, untuk menukar rentetan perenambelasan ("FF") kepada persamaan perpuluhannya:
<code class="php">$hexadecimal = "FF"; $decimal = intval($hexadecimal, 16); // convert from base 16 (hexadecimal)</code>
Penghantaran: Penukaran Terus kepada Int
Sebaliknya, menghantar ke int menggunakan (int) hanya menukar pembolehubah kepada integer perpuluhan tanpa sebarang penukaran asas. Ia adalah penukaran mudah yang menganggap pembolehubah sudah dalam format perpuluhan.
Dalam contoh yang disediakan:
<code class="php">$product_id = intval($_GET['pid']); $product_id = (int) $_GET['pid'];</code>
Kedua-dua baris kod menukar nilai $_GET['pid'] dengan berkesan kepada integer. Walau bagaimanapun, jika $_GET['pid'] mengandungi nilai bukan perpuluhan (cth., "0xFF"), hanya intval() akan mengendalikan penukaran dengan betul dengan menyatakan asas yang sesuai.
Atas ialah kandungan terperinci intval() lwn. Casting to Int: Bila Nak Gunakan Yang Mana?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!