تبدیل نوع یک متغیر به عدد یا integer در php
رشته عددی دارای نوع string و عدد اعشاری دارای نوع double می باشد. ممکن است در برنامه لازم باشد هر کدام از اینها را به عدد صحیح یا integer تبدیل نماییم.
در php چند روش برای این کار در نظر گرفته شده است:
تبدیل نوع متغیر به عدد یا integer با استفاده از دستور (int)
زمانی که دستور (int) را قبل از مقدار متغیر رشته عددی یا عدد اعشاری قرار دهیم، نوع آن را عدد در نظر می گیرد. در حالتی که عدد اعشاری باشد، مقدار آن به سمت پایین رند می شود.
$x = '123'; echo gettype( $x ); //output: string echo gettype( (int) $x ); //output: integer $z = 2.7; echo gettype( $z ); //output: double echo gettype( (int) $z ); //output: integer echo (int) $z; //output: 2
همچنین می توانیم از دستور (integer) نیز به همین صورت استفاده کنیم. این دستور دقیقا مشابه (int) کار می کند.
$x = '123'; echo gettype( $x ); //output: string echo gettype( (integer) $x ); //output: integer
تبدیل نوع متغیر به عدد یا integer با استفاده از تابع intval
این تابع متغیر “رشته عددی” یا “اعشاری” ما را تبدیل به عدد می کند.
$x = '123'; echo gettype( $x ); //output: string echo gettype( intval($x) ); //output: integer $z = 5.6; echo intval( $z ); //output: 5
اگر رشته ما عددی نباشد و حاوی حروف یا کاراکتر باشد، در صورتی که با عدد شروع شده باشد، تابع به ما بخش اول عددی را نشان می دهد و در صورتی که با حرف یا کاراکتر شروع شده باشد، تابع به ما عدد صفر را بر می گرداند.
$x = '123'; echo intval( $x ); //output: 123 $x = '12h3'; echo intval($x) ; //output: 12 $x = 'h123'; echo intval($x) ; //output: 0
پس در نهایت:
$x = '123'; echo (intval($x) === (int) $x) && ((int) $x === (integer) $x); //output: 1