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)
?>

PHP 变量类型的强制转换 & 创建空对象的更多相关文章

  1. Python变量类型的强制转换

    当我们需要对数据的类型转换时,只需要将数据类型作为函数名即可. 下面给出的函数可以执行数据类型之间的转换,函数返回一个新的对象,表示转换的值 函数格式 使用示例 描述 int(x [,base]) i ...

  2. C void的指针 强制类型转换(int*)p 把变量指针p强制转换成指向int类型的指针

    #include <stdio.h> int main(void){ void *p; int a = 14322; char c ='A'; p = &a; //p = & ...

  3. c++之旅:类型的强制转换

    类型强制转换 在编程的时候我们经常遇到类型的强制转换,C++为此提供了更安全的转换方式,在编程中我们更多的应该采用C++提供的类型转换方式 基本类型转换 基本类型转换用的最多,一般将高精度转换为低精度 ...

  4. PHP new StdClass() 创建空对象

    PHP可以用 $object = new StdClass(); 创建一个没有成员方法和属性的空对象.很多时候,程序员们会将一些参数配置项之类的信息放在数组中使用,但是数组操作起来并不是很方便,很多时 ...

  5. C++指针类型间强制转换

    深入理解指针类型间的转换 C++中指针的强制转换 强制类型转换(int).(int&)和(int*)的区别 内存中的地址 地址的本质就是一串0和1的机器代码,内存中的地址没有明确数据类型,但地 ...

  6. 根据字符串生成类---类的类型.self---根据字符串创建控制器对象

    swift和OC一样,都是通过NSClassFromString,根据一个字符串,生成相应的类. // UITabBarButton是系统的私有类,不能直接使用 // if btn.isKind(of ...

  7. js面向对象学习笔记(一):创建空对象,理解this指向

    var obj = new Object();//创建一个空对象 obj.name = '小王';//属性 obj.sayName = function () { //对象方法 对象最重要的是this ...

  8. PHP json_encode 转换成空对象和空数组

    对于以下对象 $foo = array( "bar1" => array(), "bar2" => array() ); 我想转换成 { " ...

  9. 牛客网Java刷题知识点之基本类型的自动转换和基本类型的强制转换

    不多说,直接上干货! TypeConvertDemo.java //自动类型转换 class TypeConvertDemo { public static void main(String[] ar ...

随机推荐

  1. crontab 详解

    1.crontab文件格式  {minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script} ● mi ...

  2. 使用VS2013自带的PreEmptive Dotfuscator and Analytis来混淆C#代码

    1. 使用VS2013编译你要打包的程序,会在文件夹中的 ..\bin\Release中 2. 点击VS2013中的TOOLS -> PreEmptive Dotfuscator and Ana ...

  3. 解决PuTTY中文乱码

    转载:http://lhdeyx.blog.163.com/blog/static/3181969720091115113716947/ 打开putty,选择 Category中的Windows--- ...

  4. svn回复历史版本的操作方法

    svn恢复历史版本的操作方法svn update 保证最新svn log login.php 获得版本号svn diff -r 11026:11027 login.php 发现11027出问题svn ...

  5. mysql的in和not in的用法(特别注意not in结果集中不能有null)

    1. not in的结果集中出现null则查询结果为null; 例如下面sql中,含有list中null值,无法正确查询结果: SELECT COUNT(name) FROM CVE WHERE na ...

  6. php 数据库备份还原

    public function exportDatabase(){ $data = input(); //备份数据库 $host="192.168.0.123"; $user=&q ...

  7. JavaScript原型规则和实例

    var arr = [] // var arr = new Array() var obj = {} // var obj = new Object() function fn() {} // var ...

  8. jq文件上传及下载

    一.使用jquery.form.js上传文件 jquery.form.js获取地址:https://pan.baidu.com/s/1nSdfkCt25Rc5cHMFJRVcUQ 提取码: sbmt ...

  9. php 静态方法 静态属性 和 普通方法 普通属性区别

    1,实例属性,是每个对象都可以不一样的数据,也是每个对象都“独自拥有”的数据: 2,静态属性,他不属于任何一个对象,而只属于该类本身,也可以理解为为所有对象所共有的数据:

  10. 记在Archlinux中安装python的pymssql模块过程中遇到的问题

    为什么要安装这个模块?因为要连接SQLServer数据库. 看到可以使用pyodbc这个模块进行连接,但对odbc不熟悉,所以选用了看起来更简单的 pymssql. 直接执行: pip install ...