PHP:变量类型获取和数据类型转换

时间:2022-10-27 22:56:16

(目录)

1、获取变量类型

<?php
// 整型
$age = 23;

var_dump(gettype($age));
// string(7) "integer"

// 字符串
$name = "Tom";

var_dump(gettype($name));
// string(6) "string"

// 布尔值
$is_ok = true;

var_dump(gettype($is_ok));
// string(7) "boolean"

2、变量类型判断

<?php

// 整型
$age = 23;

var_dump(is_int($age));
// bool(true)

// 字符串
$name = "Tom";

var_dump(is_string($name));
// bool(true)

// 布尔值
$is_ok = true;

var_dump(is_bool($is_ok));
// bool(true)

3、类型转换

有四种方式:

1、隐式转换 2、强制转换1

  • (int)、(integer):转换成整形
  • (float)、(double)、(real):转换成浮点型
  • (string):转换成字符串
  • (bool)、(boolean):转换成布尔类型
  • (array):转换成数组
  • (object):转换成对象

3、强制转换2

  • intval()
  • floatval()
  • strval()

4、强制转换3

  • settype()

3.1、int 转 string


$age = 23;

$age_str1 = '' . $age;
var_dump($age_str1);
// string(2) "23"

$age_str2 = (string)$age;
var_dump($age_str2);
// string(2) "23"

$age_str3 = strval($age);
var_dump($age_str3);
// string(2) "23"

// 此处是引用传递
settype($age, 'string');
var_dump($age);
// string(2) "23"

3.2、string 转 int

<?php

$age = '23';

$age_int1 = +$age;
var_dump($age_int1);
// int(23)

$age_int2 = (int)$age;
var_dump($age_int2);
// int(23)

$age_int3 = intval($age);
var_dump($age_int3);
// int(23)

// 此处是引用传递
settype($age, 'int');
var_dump($age);
// int(23)

参考 PHP数据类型转换