PHP类型杂耍详解

2023-11-18 11:32:16

定义和用法

PHP被称为动态类型语言。在PHP中既不需要也不支持变量的显式类型声明。与C,C ++和Java相反,PHP变量的类型取决于为其分配的值,而不是其他方式。此外,变量在分配不同类型的值时,其类型也会发生变化。PHP处理动态改变变量值的这种方法称为类型变戏法。

$var="Hello"; // variable is string type
$var=100; //same variable now becomes int

在计算表达式时也会发生类型变戏法。在此示例中,包含数字的字符串变量将自动转换为整数,以评估加法表达式

示例

<?php
$var1=100;
$var2="100";
$var3=$var1+$var2;
var_dump($var3);
?>

输出结果

这将产生以下结果-

int(200)

如果字符串以数字开头,则在执行计算时会忽略结尾的非数字字符(如果有)。但是,PHP解析器发出如下所示的通知

示例

<?php
$var1=100;
$var2="100 days";
$var3=$var1+var2;
var_dump($var3);
?>

输出结果

这将产生以下结果-

PHP Notice: A non well formed numeric value encountered in ...
int(200)

类型转换强制变量用作特定类型。以下脚本显示了不同类型的强制转换运算符的示例

示例

<?php
$var1=100;
$var2=(boolean)$var1;
$var3=(string)$var1;
$var4=(array)$var1;
$var5=(object)$var1;
var_dump($var2, $var3, $var4, $var5);
?>

输出结果

这将产生以下结果-

bool(true)
string(3) "100"
array(1) {
   [0]=>
   int(100)
}
object(stdClass)#1 (1) {
   ["scalar"]=>
   int(100)
}

将变量转换为字符串也可以通过将双引号引起来

示例

<?php
$var1=100.50;
$var2=(string)$var1;
$var3="$var1";
var_dump($var2, $var3);
?>

输出结果

这将产生以下结果-

string(5) "100.5"
string(5) "100.5"
  • 作者:
  • 原文链接:
    更新时间:2023-11-18 11:32:16