تبدیل نوع (Type Casting)
تبدیل صریح و ضمنی انواع داده در PHP — (int)، (float)، (string)، (array)، (object) و رفتار تبدیل
تبدیل نوع چیست؟
تبدیل نوع (Type Casting) یعنی نوع یک متغیر را به نوع دیگری تغییر دهید. PHP دو نوع تبدیل دارد:
- صریح (Explicit): شما خودتان تبدیل میکنید
- ضمنی (Implicit): PHP خودش تبدیل میکند
تبدیل صریح (Explicit Casting)
<?php
// تبدیل به عدد صحیح
$x = (int) "123"; // 123
$x = (int) 3.99; // 3
$x = (int) true; // 1
// تبدیل به عدد اعشاری
$x = (float) "3.14"; // 3.14
$x = (float) 5; // 5.0
// تبدیل به رشته
$x = (string) 42; // "42"
$x = (string) true; // "1"
$x = (string) 3.14; // "3.14"
// تبدیل به بولین
$x = (bool) 0; // false
$x = (bool) ""; // false
$x = (bool) "text"; // true
$x = (bool) 1; // true
// تبدیل به آرایه
$x = (array) "hello"; // ["hello"]
// تبدیل به شیء
$x = (object) ["a" => 1]; // stdClass { a: 1 }
?>
جدول تبدیلها
| از | به | نتیجه |
|---|---|---|
(int)"123abc" | int | 123 |
(int)"abc" | int | 0 |
(int)3.99 | int | 3 |
(float)"3.14abc" | float | 3.14 |
(string)true | string | "1" |
(string)false | string | "" |
(string)null | string | "" |
(array)null | array | [] |
تبدیل ضمنی (Implicit)
PHP در عملیاتها خودش نوع را تبدیل میکند:
<?php
// رشته + عدد → عدد
echo "10" + 5; // 15 (رشته به عدد تبدیل شد)
// رشته + رشته عددی
echo "10" + "20"; // 30
// بولین در شرط
if ("text") { ... } // true (رشته غیرخالی)
// عدد در رشته
echo "تعداد: " . 5; // "تعداد: 5"
?>
مقادیری که false میشوند
این مقادیر وقتی به bool تبدیل میشوند، false هستند:
| مقدار | توضیح |
|---|---|
false | بولین غلط |
0 | عدد صفر |
0.0 | اعشاری صفر |
"" | رشته خالی |
"0" | رشته صفر |
[] | آرایه خالی |
null | نال |
توابع تبدیل
| تابع | توضیح |
|---|---|
intval("123") | تبدیل به int |
floatval("3.14") | تبدیل به float |
strval(42) | تبدیل به string |
boolval("text") | تبدیل به bool |
settype($var, "int") | تغییر نوع متغیر |
تبدیل با intval و مبنای دلخواه
<?php
echo intval("123"); // 123
echo intval("0xFF", 16); // 255 (هگزادسیمال)
echo intval("777", 8); // 511 (هشتهشتی)
echo intval("1010", 2); // 10 (باینری)
?>
این مبحث بخشی از دوره آموزش کامل PHP است.