PHP变量类型之间的相互转换

如果没有明确规定某一变量的类型, 那么这个变量的类型一般是由上下文决定。PHP中的变量类型之间的相互转换一般分2种, 一是自动类型转换、二是强制类型转换。

一:自动类型转换

自动类型转换通常发生在不同变量类型进行混合运算时, 如果参与运算的变量类型不同那么系统将自动将他们转为相同类型的变量在进行运算(注:只是改变这些变量如何被求值, 并没有改变这些变量本身的类型)例如:

  1. 当有boolean类型参与运算, true将转为1, false将转为0再进行运算;
  2. 当有null类型参与运算, null将转为整型0再进行运算;
  3. 当有int和float类型参与运算, int会先转为float类型再参与运算;
  4. 当有string类型参与运算, 先把string转为数字类型(int或float)再进行运算;

二:强制类型转换

强制类型转换即强制改变变量的类型并将其赋予给一个新的变量, 新变量的类型为转换后的类型, 而原变量的类型没有改变。例如:

$a=1;
$b= strval($a);
var_dump($a); // 输出int 1
var_dump($b); // 输出string '1'

将一个变量进行强制类型转换可以使用相应的函数如:intval()、strval()、floatval()等也可以在变量前面加上用括号括起来的目标类型如:

$a=1;
$b= (string)$a; // 此时$b类型为字符串

使用settype()函数改变变量类型

在上诉2种方法中, 都没有改变到变量本身的类型。而settype()函数在转换变量类型中也会同时改变变量自身的类型。

$a=1;
settype($a,"string");
var_dump $a;  // 输出 string '1';
发布了10 篇原创文章 · 获赞 1 · 访问量 141
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 数字20 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览