آموزش PHP Type Casting

Image تحقیقات

آموزش PHP Type Casting

سلام و درود

امروز دربارهPHP Type Casting صحبت میکنیم.

همانطور که میدونید در php برای تعریف متغیر نیازی نیست نوع متغیر را تعریف کنید زیرا به صورت اتوماتیک php تصمیم میگیرد چه نوعی را با توجه به مقدار متغیر با آن انتصاب دهد.

 

آموزش PHP Type Casting

مثال :

<?php
$i =1;
var_dump($i); //$i is integer
$i = 2.3;
var_dump($i); //$i is float
$i = "php type casting";
var_dump($i)//$i is string

در مثال بالا مشاهده می کنید که متغیر i چند بار نوعش عوض شده و این عوض شدن نوع به صورت اتوماتیک با توجه به محتوای داخل اش انجام می شود.

عمل type casting یعنی شما نوع متغیر رو با توجه به نوعی که لازم دارین تغییر بدین.مثلا داخل یک متغیر عدد ذخیره شده پس قاعدتا نوع متغیر Integer است ولی شما میخواهید ان را به صورت رشته ای تبدیل کنید.برای این کار نوع مورد نظرتون رو داخل پرانتز گذاشته و قبل از نام اون متغیر قرار میدین.

مثال :

در این مثال یک متغیر رشته ای رو به عددی تبدیل می کنیم.

<?php
$string_var = "string value for php type";
$int_var = (int)$string_var;
var_dump($ini_var);

 

ما می توانیم با استفاده از کلید واژه های زیر عمل تبدیل را انجام دهیم.

  1. Integer  using (int) or (integer)
  2. Boolean using (bool) or (boolean)
  3. Floating Number using (float)  or (real) or (double)
  4. String using (str)
  5. Array using (array)
  6. Object using (object)
  7. Null using (unset)

مثال : با استفاده از کلمه ی کلیدی int و یا integer می توانیم هر نوعی رو به نوع عددی تبدیل کنیم.

مثلا اگر نوع boolean رو به Integer  تبدیل کنیم.اگر 0 باشد به false و اکر 1 باشد به true تبدیل می شود و بالعکس.

<?php
$bool_false = false;
$int_val =  (int) $bool_false ;
var_dump($int_val); //Output will be 0

 

$bool_true = true;
$int_val =  (int) $bool_true ;
var_dump($int_val); //Output will be 1

 

مثال: اگر مثلا یه منبعی رو به Integer تبدیل کنیم یک آی دی  منبع Unique برمیگرداند.

<?php
$fp = fopen("filename.txt", "w");
$int_cast = (int) $fp;
var_dump($int_cast);

مثال : یک عدد اعشاری رو به  integer تبدیل میکنیم.در این تبدیل قسمت اعشار خذف خواهد شد.

<?php
$float_num = 10.9;
echo (int) $float_num;

خروجی :

10

 

PHP type casting to Boolean

یه مثال دیگه میزنیم از تبدیل انواع مختلف متغیر به نوع boolean

این تبدیل با استفاده از کلمه کلیدی bool یا boolean می باشد.

<?php
var_dump((bool) 1); //return true
var_dump((bool) 0);//return false
var_dump((bool) "");//return false
var_dump((bool) , "ank");//return true

 

PHP type casting to string

حالا میریم سراغ رشته ها و متغیرهای مختلف رو به رشته تبدیل میکنیم :

<?php
$boo_true = true;
var_dump((string) $boo_true);// Output will be "1"
var_dump((string) false) ;//Output will be ""
var_dump((string) 1);//output will be 1

 

PHP type casting to array

حالا میریم سراغ آرایه و متغیرهامون رو به آرایه تبدیل می کنیم.

برای این تبدیل از کلمه کلیدی array استفاده می کنیم.

<?php
var_dump((array) , 5);// value 5 in the array with 0th index
var_dump((array) NULL);// Will be empty array

 و

 

در ادامه یه سری مثال براتون آماده کردم تا به درک بهتر این قضیه کمک کنه.

<?php
$foo = 1 + "10.5";                // $foo is float (11.5)
$foo = 1 + "-1.3e3";              // $foo is float (-1299)
$foo = 1 + "bob-1.3e3";           // $foo is integer (1)
$foo = 1 + "bob3";                // $foo is integer (1)
$foo = 1 + "10 Small Pigs";       // $foo is integer (11)
$foo = 4 + "10.2 Little Piggies"; // $foo is float (14.2)
$foo = "10.0 pigs " + 1;          // $foo is float (11)
$foo = "10.0 pigs " + 1.0;        // $foo is float (11)     

تا جلسه بعد خدانگهدار