php类的的属性值,PHP面向对象之旅:类的属性

在PHP5中,在属性定义可以不设置初值,或者赋予以下红色类型的初值。

PHP中简单类型有8种,分别是:

数值类型boolean 布尔类型

integer 整型

float 浮点型,也称为 double 双精度浮点型

string 字符串

复合类型

array 数组

object 对象

特殊类型

resource 资源

NULL

class A{

}

class Person{

private $name; //定义属性未赋值。

private $name1 = NULL; //定义属性空值 ,与未赋值一样。

private $married = true; //用布尔型为属性赋值。

private $grade = 0; //用整形数值为属性赋值

private $eyesight = 0.1; //用浮点型数字为属性赋值

private $nationality = "China"; //用字符串为属性赋值

private $arr = array("foo" => "bar", 12 => true); // 用数组为属性赋值

//private $a = new A(); //PHP5不允许,创建对象类型赋值给属性

//private $res = opendir("abc"); // PHP5不允许使用资源类型

//private $g = $this->grade; //不允许用前面定义的属性为新属性赋值。

}

$a = new Person();

?>

在上面例子中,第13行,尝试创建对象并将值赋予属性$a 会报错。

第14行,建立资源并复制给$res会出现错误。

第15行,使用上面定义的属性为新属性赋值也会产生错误。

在Java中,可以作13行和15行这样的操作。

PHP5中定义属性的默认值,被限制到最简单的方式。其它的操作,交给构造方法操作,后面内容中将讲解构造方法。

变量与引用变量

普通变量间的传值方法,就是值的赋值。比如数组。

$arr = array("foo" => "bar", 12 => true);

$a = $arr;

$arr[foo] = "new";

print_r($arr);

echo '
';

print_r($a);

?>

程序输出:

Array ( [foo] => new [12] => 1 )

Array ( [foo] => bar [12] => 1 )

而指向对象的变量,是一个引用变量。在这个变量里面存储的是所指向对象的内存地址。引用变量传值时,传递的是这个对象的指向。而非复制这个对象。

属性的扩充

$this 指当前对象。

$this-> 调用当前对象的属性或者方法。

在类中使用$this-> 调用一个未定义的属性时,PHP5会自动创建一个属性供使用。

这个被创建的属性,默认的方法权限是public。

class A {

public $name = "Gonn";

public function __construct() {

$this -> age = "24";

}

}

$p = new A();

echo $p->name;

echo '
';

echo $p->age;

?>

程序输出:

Gonn

24

属性 age 被创建了。

延伸阅读

此文章所在专题列表如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/303375.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

淘宝快捷通道——百汇家园

百汇家园 是一个便捷的通道,喜欢网购的同学,都可以在百汇家园了解到所需要的相关 产品的信息。我们的商品分为15个大类,包含了淘宝所有的商品,满足你的购物 需求。 百汇家园通过与淘宝的网店合作,将淘宝优质商品&#…

家里在一二线城市有很多套房是什么体验?答案太颠覆!

作者:匿名来源:知乎(图片:网络)“家里在一二线城市有很多套房是怎么的一种体验?”这是知乎上一个浏览超600万的话题。其中一个答案非常颠覆,获得高赞。作者的观点是否正确见仁见智,但…

希尔排序听起来有点难,其实很简单

前言直接插入排序当待排序数据的顺序和期望排序结果相反时,排序效率是最差的;上次聊到的折半插入排序只是减少有序列表的比较次数,而对于整体数据遍历次数还是没有得到优化;接下来要说的希尔排序就是针对整体数据进行优化&#xf…

中小企业信息化,“轻”和“快”是方向

中小企业有着自身的特殊性,在观念改变和专业服务产品到位后,中小企业轻装上阵,实现高效办公、快捷管理、快速发展的愿望并不遥远。 时间刚过早上七点,韩信吃完早餐,便坐到沙发上看起了新闻,查看手机日历也是…

php 下拉表单,PHP表单和填充下拉列表问题

我正尝试连接到MySQL并将数据填充到Dropdown。这是我的代码。某些原因下拉列表没有被填充。请建议。这是代码。$mysqli_connection new mysqli($db_host, $db_username, $db_password, $db_database);if (isset($_POST[Submit_1])) {require submit.php;require validate.php;…

等我敲完这行代码,就和你离婚!

工作是高端大气上档次,工资是低调奢华接地气!我们叫做“程序猿”,也叫“攻城狮”!但是往往城还没攻下来,我们的头发就先掉下来!我们最喜欢听的一句话就是☟段子一“等我敲完这行代码,就和你离婚…

凭什么还不自信!!

前几天挺gbx说有个11级的小同学,已经在某OJ上刷过1000多道题,倍受打击!一度感叹为什么我没有早点起步,甚至一度认为ACM是给那些初高中做过NOI的同学准备的。 今天突发神经查了查神牛HH 的简历,真的很震撼: …

yml php,使用 docker-compose.yml 快速搭建php开发环境

1、新建一个文件夹,里面创建文件 docker-compose.yml2、编辑 docker-compose.yml 文件,保存以下内容# docker volume#docker run -d --name dbdata -h dbdata -v /wwwroot:/home/vagrant/wwwroot -v /Downloads:/home/vagrant/Downloads -v /wwwroot/web…

深夜,学妹遇到了数据分析师生涯的第一个疑问

大家好,我是大鹏,目前是一名数据分析师。自从上次学妹深夜给我发微信,询问数据分析师招聘要求和需要掌握的技能,已经过去2个月了。直到昨天,我再次收到了学妹的召唤:当天深夜 学妹深夜求助,定是…

你知道WPF与WinForms的区别吗?

介绍WPF的缩写指微软的Windows Presentation Foundation,而WinForms是Windows Forms Applications的简单组合。这两个都是微软的Windows应用程序图形用户界面,开发人员可以使用它们来开发Windows桌面应用程序。本文重点介绍两种开发Windows桌面应用程序的…

一起谈.NET技术,发布NGuestBook(一个基于.NET平台的分层架构留言本小系统)

发布NGuestBook的动机说明 大约在半年前,我在博客上发表了一个系列文章:《基于.NET平台的分层架构实战》。当时在讲解过程中用到了一个叫NGuestBook的案例,在那以后,有很多朋友留言或发E-mail希望能得到NGuestBook的完整源代…

jodconverter水印java,OpenOffice实现Office转Pdf(支持自定义添加水印、页眉、页脚)

java OpenOffice officetopdf最近项目需要实现下载Office文档时自动转成PDF文档,以下代码支持2003及2007版的Word,PPT,Excel转换,并支持自定义添加水印、页眉、页脚实现需要事先安装OpenOffice(我这里安装的是OpenOffice 4)OpenOffice 下载: …

当Java、C++、Python等编程语言都变成妹子。。。

试想一下,当Java、C、Python、Ruby、PHP、C#、JS等编程语言变成了动漫人物会是怎样的一幅场景呢?下面就一起看看在日本作家渡辺将人的笔下,各种编程语言都是哪类“美女”的吧!Java犹如宫泽贤治的《不畏风雨》中出现的、性格木讷的…

对MySQL 进行深入学习是非常必要的

MySQL 在互联网行业非常流行,腾讯,阿里等互联网巨头都在深入使用MySQL, 我在腾讯时也使用MySQL,我在微信群里经常听到大家对MySQL 的意见也很大。在传统企业环境下使用最多的数据库产品是Oracle,SQL Server等企业级数据库&#xf…

windows下的NTP服务

近期的项目用到NTP,在使用的时候碰到一些问题,特记录如下: (1)NTP Server部分若要将内部时间服务器配置为与外部时间源同步,请按照下列步骤操作: 1. 将服务器类型更改为 NTP。为此&#xff0…

php判断是否是关联数组,php 关联数组判断是否为空

先看一个关联数组判断为空的代码,然后我们详细讲讲关于数据空的处理。$array array(0);if(empty($array)){echo "我空了 ";}else{echo "我不空啊 ";}$array[array]我是数组;print_r($array);$array[array1]我是数组1;print_r($array);unset($a…

4月 .NET 线上 Meetup,快来报名

点击蓝字关注我们.NET 6 preview 2 在3月11日已经发布,.NET 6 将是 .NET Core 3.1 之后的第一个 LTS 版本,也是微软开启全平台统一一个 .NET 计划以来的第一个 LTS 版本,意义不可谓不大,那么 .NET 5/6 又会带来哪些新特性呢&#…

机器学习资料第3版,助你继续成长!

之前分享的两份机器学习资料得到很多人的支持,因此小编决定再分享一份机器学习的资料。前两份资料传送门:【资源】机器学习资料包来袭机器学习资料升级版来了!!!现在,再来看看有什么新资料吧。How to Build…

php框架快速入门,php-laravel4.0框架 简单快速入门

前提必须已经安装好了laravel4.0版本。写入权限:  安装完 Laravel ,你还需要为web服务器设置 app/storage目录的写入权限。目录结构:  安装完框架后,你需要熟悉一下该项目的目录结构。app 文件夹包含了一些如views &#xff0…

Filter+Redis解决项目之间调用的幂等性

幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。在编程中一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同在项目远程调用中,如果接口调用失败或者是超时,客户端都会…