PHP 变量类型的强制转换 & 创建空对象

PHP 在变量定义中不需要(或不支持)明示的类型定义;变量类型是根据使用该变量的上下文所决定的。

也就是说,如果把一个字符串值赋给变量 var,var 就成了一个字符串。如果又把一个整型值赋给 var,那它就成了一个整数。 
PHP 中的类型强制转换和 C 中的非常像:在要转换的变量之前加上用括号括起来的目标类型。

<?php 
$foo = 10; 
echo "转换前:\$foo=".$foo; //输出一个整数 
echo "<br/>" //输出:$foo=10 
echo "<br/>"; 
$foo = (boolean) $foo; //强制转换为布尔型 
echo "转换后:\$foo=".$foo; //输出:$foo=1 
?> 

 允许的强制转换有: 

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

 

<?php

    $test = (object)[];  //php创建空对象
    $test->age = '18';
    $test->sex = '1';
    print_r($test); //输出stdClass Object ( [age] => 18 [sex] => 1)
?>

 

<?php
    $test = new StdClass();         //php创建空对象
    $test->age = '18';
    $test->sex = '1';
    print_r($test); //输出stdClass Object ( [age] => 18 [sex] => 1)
?>

 

posted @ 2017-10-27 11:41  一个人的孤独自白  阅读(709)  评论(0编辑  收藏  举报