• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP面向对象程序设计内置标准类,普通数据类型转为对象类型示例

    本文实例讲述了PHP面向对象程序设计内置标准类,普通数据类型转为对象类型。分享给大家供大家参考,具体如下:

    内置标准类

    PHP中,有很多“现成的类”,其中有一个被称为“内置标准类”。这个类“内部”可以认为什么也没有。

    class stdclass{ }
    
    
    ?php
    $obj1 = new stdclass();
    var_dump($obj1);
    class A{}
    $obj2 = new A();
    var_dump($obj2);
    ?>
    
    

    运行结果:

    object(stdClass)[1]

    object(A)[2]

    可以看到和普通类没什么区别。

    内置标准类的作用是,用于存储一些临时的简单数据,如:

    $obj1->pp1 = 1;
    $obj2->port = '3306';
    
    

    也可以在类型转换时用于存储数据。

    对象的类型转换

    其他数据类型转换为对象类型,得到的结果是:内置标准类(stdclass)的一个对象。

    语法形式为:

    $obj = (object)其他类型数据;

    数组转换为对象:数组的键名当作属性名,值为对象对应的值。

    注意:数字下标的数据元素,转换为对象后的属性,无法通过对象语法获取,因此不推荐转换。

    ?php
    $config = array(
      'host' => "localhost",
      'port' => 3306,
      'user' => "root",
      'pass' => "123",
      'charset' => "utf8",
      'dbname' => "yeoman",
    );
    $obj1 = (object)$config;
    var_dump($obj1);
    echo "br />单独取出user:" . $obj1->user;
    ?>
    
    

    运行结果:

    object(stdClass)[1]
      public 'host' => string 'localhost' (length=9)
      public 'port' => int 3306
      public 'user' => string 'root' (length=4)
      public 'pass' => string '123' (length=3)
      public 'charset' => string 'utf8' (length=4)
      public 'dbname' => string 'yeoman' (length=6)

    单独取出user:root

    但是数组中有下标元素,转为对象的话,无法通过对象语法获取。

    ?php
    $arr = array('pp1' => 1, 5 => 12);
    $obj2 = (object)$arr;
    var_dump($obj2);
    echo "br />单独取出pp1:" . $obj2->pp1;
    //echo "br />单独取出5:" . $obj2->5;//会报错!
    ?>
    
    

    运行结果:

    $arr = array('pp1' => 1, 5 => 12);
    $obj2 = (object)$arr;
    var_dump($obj2);
    echo "br />单独取出pp1:" . $obj2->pp1;
    //echo "br />单独取出5:" . $obj2->5;//会报错!
    ?>
    
    

    null转换为对象:空对象

    $obj = (object)null;
    
    

    其他标量数据转换为对象:属性名为固定的”scalar“,值为该变量的值

    ?php
    $v1 = 1;
    $v2 = 2.2;
    $v3 = "abc";
    $v4 = true;
    $objv1 = (object)$v1;  //整型转为对象类型
    $objv2 = (object)$v2;  //浮点型转为对象类型
    $objv3 = (object)$v3;  //字符串型为对象类型
    $objv4 = (object)$v4;  //布尔转为对象类型
    var_dump($objv1); echo "br />";
    var_dump($objv2); echo "br />";
    var_dump($objv3); echo "br />";
    var_dump($objv4); echo "br />";
    
    

    运行结果为:

    object(stdClass)[1]
      public 'scalar' => int 1

    object(stdClass)[2]
      public 'scalar' => float 2.2

    object(stdClass)[3]
      public 'scalar' => string 'abc' (length=3)

    object(stdClass)[4]
      public 'scalar' => boolean true

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

    希望本文所述对大家PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • 实例解析php的数据类型
    • 浅谈php中变量的数据类型判断函数
    • PHP检测数据类型的几种方法(总结)
    • PHP中数据类型转换的三种方式
    • PHP七种数据类型知识点总结
    上一篇:PHP下用Swoole实现Actor并发模型的方法
    下一篇:PHP面向对象程序设计之对象的遍历操作示例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    PHP面向对象程序设计内置标准类,普通数据类型转为对象类型示例 PHP,面向,对象,程序设计,