همه چیز درباره ی تابع intval در PHP به زبان ساده

منتشر شده در 05 دسامبر 2024 آخرین به روز رسانی در 05 دسامبر 2024
مهندس محسن حسن پور
21 0
تابع intval در PHP

این پست با مسیر متخصص php مرتبط است. مشاهده مسیر (Roadmap)

در برنامه نویسی گاهی پیش می آید که بخواهیم نوع داده را تغییر دهیم و یا پیش از انجام عملیات از نوع آن داده مطمئن شویم. در PHP نیز مانند سایر زبان های برنامه نویسی توابعی داریم که در این امر به ما کمک می کنند. در این آموزش به بررسی تابع intval در PHP می پردازیم و با کاربرد این تابع آشنا می شویم.

کاربرد تابع intval

تابع intval به جهت تغییر نوع داده از رشته (String) یا سایر نوع داده به یک داده عددی استفاده میگردد. همانطور که گفتیم کاربرد متداول این تابع تبدیل داده از نوع رشته به عدد است. به مثال زیر توجه کنید:

echo intval('+42');                   // 42

در این مثال مقدار +42 که داخل کوتیشن است از نوع رشته است و با کمک تابع فوق توانستیم آن را به داده از نوع عدد integer تبدیل کنیم.

ورودی های intval

تابع intval دو ورودی می پذیرد. ورودی اول که الزامی است داده ای است که میخواهیم تغییرش دهیم. ورودی دوم مبنای تغییر می باشد.

برای مثال:

echo intval('42', 8); // خروجی: 34

عدد 34 به دلیل تفسیر عدد “42” در مبنای 8 چاپ می شود.

نکته: اگر مبنا مشخص نشود (یعنی فقط intval('42') نوشته شود)، PHP پیش‌فرض از مبنای 10 استفاده می‌کند و عدد را بدون تغییر تفسیر می‌کند:

<?php
echo intval("42");                      // خروجی 42

خروجی تابع intval

در خروجی این تابع مقداری که به آن پاس داده ایم را به مقدار عددی تبدیل می کند و سپس بر میگرداند.

<?php
echo intval(42);                      // 42
echo intval(4.2);                     // 4
echo intval('42');                    // 42
echo intval('+42');                   // 42
echo intval('-42');                   // -42
echo intval(042);                     // 34
echo intval('042');                   // 42
echo intval(1e10);                    // 10000000000
echo intval('1e10');                  // 10000000000
echo intval(0x1A);                    // 26
echo intval('0x1A');                  // 0
echo intval('0x1A', 0);               // 26
echo intval(42000000);                // 42000000
echo intval(420000000000000000000);   // -4275113695319687168
echo intval('420000000000000000000'); // 9223372036854775807
echo intval(42, 8);                   // 42
echo intval('42', 8);                 // 34
echo intval(array());                 // 0
echo intval(array('foo', 'bar'));     // 1
echo intval(false);                   // 0
echo intval(true);                    // 1
?>

نکته1: مقدار true برابر 1 و مقدار false برابر 0 در نظر گرفته می شود.

نکته 2: خروجی array تهی برابر 0 و خروجی array غیر تهی برابر 1 می شود.

تابع intval() در PHP یکی از ابزارهای کاربردی برای تبدیل مقادیر مختلف به نوع داده عددی است که به دلیل سادگی و انعطاف‌پذیری، در موارد متعددی از جمله پردازش داده‌ها، تبدیل رشته‌های عددی به اعداد، و کار با انواع داده‌های متفاوت استفاده می‌شود. با درک درست ورودی‌ها و نحوه رفتار این تابع، می‌توانید از آن برای بهینه‌سازی کدهای خود و جلوگیری از خطاهای ناشی از ناسازگاری نوع داده‌ها بهره ببرید.
منبع: PHP.net