تبدیل نوع (Casting) در PHP
گاهی در PHP نیاز داری نوع متغیر (Variable) رو عوض کنی. یعنی مثلا یه عدد رو به رشته تبدیل کنی. این کار رو با چیزی به نام تبدیل نوع (Casting) انجام می دیم. مثل وقتی که تو بازی، شخصیتت لباس عوض می کنه تا قدرتش فرق کنه.
تغییر نوع داده در PHP
برای تبدیل نوع در PHP از پرانتزهای مخصوص استفاده می کنیم. چند تا نمونه ازشون:
(string)
تبدیل به رشته(int)
تبدیل به عدد صحیح(float)
تبدیل به عدد اعشاری(bool)
تبدیل به مقدار بولی (درست یا غلط)(array)
تبدیل به آرایه(object)
تبدیل به شیء(unset)
تبدیل به NULL
تبدیل به رشته (String)
برای اینکه یه مقدار رو به رشته تبدیل کنی، جلوی اون بنویس (string)
:
$a = 5;
$b = 5.34;
$c = "hello";
$d = true;
$e = NULL;
$a = (string) $a;
$b = (string) $b;
$c = (string) $c;
$d = (string) $d;
$e = (string) $e;
var_dump($a);
var_dump($b);
var_dump($c);
var_dump($d);
var_dump($e);
تبدیل به عدد صحیح (Integer)
با (int)
می تونی هر نوع داده ای رو به عدد صحیح تبدیل کنی:
$a = 5;
$b = 5.34;
$c = "25 kilometers";
$d = "kilometers 25";
$e = "hello";
$f = true;
$g = NULL;
$a = (int) $a;
$b = (int) $b;
$c = (int) $c;
$d = (int) $d;
$e = (int) $e;
$f = (int) $f;
$g = (int) $g;
تبدیل به عدد اعشاری (Float)
با (float)
مقدارها رو به عدد اعشاری تبدیل می کنی:
$a = 5;
$b = 5.34;
$c = "25 kilometers";
$d = "kilometers 25";
$e = "hello";
$f = true;
$g = NULL;
$a = (float) $a;
$b = (float) $b;
$c = (float) $c;
$d = (float) $d;
$e = (float) $e;
$f = (float) $f;
$g = (float) $g;
تبدیل به مقدار بولی (Boolean)
با (bool)
مقدارها به درست (true) یا غلط (false) تبدیل می شن:
$a = 5;
$b = 5.34;
$c = 0;
$d = -1;
$e = 0.1;
$f = "hello";
$g = "";
$h = true;
$i = NULL;
$a = (bool) $a;
$b = (bool) $b;
$c = (bool) $c;
$d = (bool) $d;
$e = (bool) $e;
$f = (bool) $f;
$g = (bool) $g;
$h = (bool) $h;
$i = (bool) $i;
نکته: اگر مقدار 0 یا NULL یا رشته خالی باشه، نتیجه false می شه، بقیه true.
تبدیل به آرایه (Array)
با (array)
می تونی مقدارها رو توی یه آرایه بذاری. حتی اگه یه مقدار باشه!
$a = 5;
$b = 5.34;
$c = "hello";
$d = true;
$e = NULL;
$a = (array) $a;
$b = (array) $b;
$c = (array) $c;
$d = (array) $d;
$e = (array) $e;
وقتی یه شیء (Object) رو به آرایه تبدیل می کنی، خصوصیت هاش به کلید و مقدار تبدیل می شن:
class Car {
public $color;
public $model;
public function __construct($color, $model) {
$this->color = $color;
$this->model = $model;
}
}
$myCar = new Car("red", "Volvo");
$myCar = (array) $myCar;
var_dump($myCar);
تبدیل به شیء (Object)
با (object)
مقدارها تبدیل به شیء می شن. اگه آرایه باشه، کلیدهاش می شن ویژگی شیء.
$a = 5;
$b = 5.34;
$c = "hello";
$d = true;
$e = NULL;
$a = (object) $a;
$b = (object) $b;
$c = (object) $c;
$d = (object) $d;
$e = (object) $e;
تبدیل به NULL
اگر بخوای یه مقدار رو عملاً حذف کنی، از (unset)
استفاده کن:
$a = 5;
$b = 5.34;
$c = "hello";
$d = true;
$e = NULL;
$a = (unset) $a;
$b = (unset) $b;
$c = (unset) $c;
$d = (unset) $d;
$e = (unset) $e;
جمع بندی سریع
- تبدیل نوع یعنی تغییر شکل داده.
- (int) برای عدد صحیح، (float) برای اعشاری.
- (string) داده رو به رشته تبدیل می کنه.
- (bool) فقط دو حالت داره: true یا false.
- (array) یا (object) داده رو در قالب جدید می ذارن.
برای مطالعه بیشتر: مقاله متغیرها در PHP و نوع داده ها در PHP.