$var = "10";
$int = (int)$var;
echo $int; // 输出:10
$var = "10.5";
$int = intval($var);
echo $int; // 输出:10
$var = "10.5";
$float = (float)$var;
echo $float; // 输出:10.5
$var = "10";
$float = floatval($var);
echo $float; // 输出:10.0
$var = 10;
$str = (string)$var;
echo $str; // 输出:"10"
$var = 10.5;
$str = strval($var);
echo $str; // 输出:"10.5"
$var = 1;
$bool = (bool)$var;
echo $bool; // 输出:true
$var = "false";
$bool = boolval($var);
echo $bool; // 输出:true
$num = 10;
$str = "20";
$result = $num + $str;
echo $result; // 输出:30
这种机制提高了PHP的灵活性,但也需要开发者注意可能带来的类型兼容性问题。
$array = ["name" => "John", "age" => 25];
$obj = (object)$array;
echo $obj->name; // 输出:"John"
echo $obj->age; // 输出:25
class Person {
public $name = "John";
public $age = 25;
}
$person = new Person();
$array = (array)$person;
print_r($array);
/*
输出:
Array
(
[name] => John
[age] => 25
)
*/