好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php变量属性值 php变量的定义

很多站长朋友们都不太清楚php变量属性值,今天小编就来给大家整理php变量属性值,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 PHP如何修改和获取private变量的值 2、 PHP的变量如何给抽象类中属性符初值 3、 PHP变量名、变量值、类型 PHP如何修改和获取private变量的值

//__get()方法用来获取私有属性

private function __get($property_name)

{

if(isset($this->$property_name))

{

return($this->$property_name);

}else

{

return(NULL);

}

}

//__set()方法用来设置私有属性

private function __set($property_name, $value)

{

$this->$property_name = $value;

}

有了这2个方法以后,就可以直接执行:

echo $instance->$property

或 $instance->$property = “a”;

来获取和修改private变量的值了,如果没有手动添加__get();和__set();方法则会报错,

因为我们要访问的是私有变量。

希望可以采纳,谢谢。

PHP的变量如何给抽象类中属性符初值

因为抽象类不能被实例化,所以需要通过继承的方式为属性赋值:

前提是抽象类中需要赋值的属性不能被private修饰

<?php

abstract class AbstractClass

{

public $a = 1;

abstract protected function getValue();

// 普通方法(非抽象方法)

public function printOut() {

echo $this->a . "\n";

}

}

class ConcreteClass1 extends AbstractClass

{

protected function getValue() {}

}

$b = new ConcreteClass1();

$b->a = 2;

$b->printOut();

?>

PHP变量名、变量值、类型

变量名 =》 zval

变量值 =》zend_value

问题:

引用计数

变量传递,变量赋值

变量的基础结构

变量值:zend_value 

typedef union _zend_value {

  zend_long        lval;            /* long value */

  double            dval;            /* double value */

  zend_refcounted  *counted;

  zend_string      *str;

  zend_array      *arr;

  zend_object      *obj;

  zend_resource    *res;

  zend_reference  *ref;

  zend_ast_ref    *ast;

  zval            *zv;

  void            *ptr;

  zend_class_entry *ce;

  zend_function    *func;

  struct {

      uint32_t w1;

      uint32_t w2;

  } ww;

} zend_value;

变量名:_zval

typedef struct _zval_struct    zval;

struct _zval_struct {

  zend_value        value;        /* value */

  union {

      struct {

        ZEND_ENDIAN_LOHI_4(

            zend_uchar    type,          /* active type */

            zend_uchar    type_flags,

            zend_uchar    const_flags,

            zend_uchar    reserved)        /* call info for EX(This) */

      } v;

      uint32_t type_info;

  } u1;

  union {

      uint32_t    var_flags;

      uint32_t    next;                /* hash collision chain */

      uint32_t    cache_slot;          /* literal cache slot */

      uint32_t    lineno;              /* line number (for ast nodes) */

      uint32_t    num_args;            /* arguments number for EX(This) */

      uint32_t    fe_pos;              /* foreach position */

      uint32_t    fe_iter_idx;          /* foreach iterator index */

  } u2;

};

变量类型【type】

/* regular data types */

#define IS_UNDEF              0

#define IS_NULL                  1

#define IS_FALSE              2

#define IS_TRUE                  3

#define IS_LONG                  4

#define IS_DOUBLE              5

#define IS_STRING              6

#define IS_ARRAY              7

#define IS_OBJECT              8

#define IS_RESOURCE                9

#define IS_REFERENCE            10

/* constant expressions */

#define IS_CONSTANT                11

#define IS_CONSTANT_AST            12

/* fake types */

#define _IS_BOOL              13

#define IS_CALLABLE                14

/* internal types */

#define IS_INDIRECT                15

#define IS_PTR                17

true 和 flase 没有zend_value 结构, 直接通过type来区分,zend_long和double的变量指直接存储在_zend_value中,不需要额外的value指针。

关于php变量属性值的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php变量属性值 php变量的定义的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did196406
更新时间:2023-04-26   阅读:21次

上一篇: vbphp实现文件上传 vb上传图片

下一篇:php软件注册权申请 php登录注册

最新资料更新

  • 1.linux中下载php linux安装php56
  • 2.php写循环下拉页面 php下拉菜单的代码
  • 3.php操作redis存值 php redis数据类型
  • 4.php方法前加 php变量前后加点
  • 5.php扩展的路径 php常用扩展有哪些
  • 6.php网站+iis php网站有哪些
  • 7.php带协议跳转 php跳转函数
  • 8.php包含eaplay吗 php是否包含
  • 9.php数组冒泡排序 php冒泡排序面试题
  • 10.修改php网页链接 怎么修改php网页
  • 11.php项目补充redis php+redis
  • 12.文章加载更多php php加载html
  • 13.phpsessions phpsession使用
  • 14.phpsmtp配置项 php 配置
  • 15.php中table行宽 php网页表格
  • 16.php正则到底 php中的正则表达式
  • 17.订餐系统php 订餐系统升级维护,请前往
  • 18.包含php7.0.10的词条
  • 19.php配置外网访问 phpstudy外网映射
  • 20.php多继承的作用 php继承关键字

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://www.haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]