百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程文章 > 正文

「基础编程学习」 「PHP7数组详解」:第1章 (8)数组和对象

qiyuwang 2024-11-06 20:16 11 浏览 0 评论

# 1.14 数组

讲了7节了,终于说到重头戏了。

数组,将关联的数据,放在内存中。

举一个例子,比如说一个班级,有一个班级号,班级名,描述,房间号,教导员,班级人数。可以存到一个数组内,这样写:

$class_array[0] = "CS122";
// class number
$class_array[1] ="Programming Concepts 1";
// class name
$class_array[2] ="Basic concepts of the PHP language.";
// description
$class_array[3] = "B123"; // room
$class_array[4] = "Dr. Abraham Excell";
// instructor
$class_array[5] = 50;
// number of students

上面这个数组,是随用随建的。用的时候赋值,一般呢,我们明确知道的,用下面的方式书写:


$class_array = array(
    'CS122',
    'Programming Concepts 1',
    'Basic concepts of the PHP language.',
    'B123', 
    'Dr. Abraham Excell', 
    50
);

一目了然。大家看到,这个数组内存储的有整型,有字符串,类型不一样,都可以放在一起。这与我们在强类型语言内看到的,声明数组之前,必须指定数组的长度,数组元素的数据类型,不一样,不一样,不一样!

要不说PHP没有真正的数组呢。PHP的数组,说白了,就是键值映射数据对。

把上面额数组,使用var_dump打印出来,看一下数组的结构。我们发现,数组是默认从0开始,使用正整数作为键,存储数据的。

PHP的数组也的确是这样的机制,它还支持明确指定数组的键,也就是键值对存储。看下面的额数据:

$class_array["class number"] = "CS122";
$class_array["class name"] = "Programming Concepts 1";
$class_array["description"] = "Basic concepts of the PHP language.";
$class_array["room"] = "B123";
$class_array["instructor"] = "Dr. Abraham Excell";
$class_array["number of students"] = 50;

这次,我们使用的键是字符串型。

我们同样使用var_dump打印其内部结构。

键由字符串组成的。

上面的是一维数组,简单数组。当然,数组也支持元素为数组,比如下边这样。

$class_array = array(
    array(
        'CS122', 'Programming Concepts 1',
        'Basic concepts of the PHP language.',
        'B123', 'Dr. Abraham Excell', 50
    ),
    array(
        'CS123', 'Programming Concepts 2',
        'Advanced concepts of the PHP language.',
        'B124', 'Dr. Abraham Excell', 50
    )
);

这个是二维数组。后面章节再详细说。

# 1.15 对象,属性,和方法

PHP是一门面向对象的语言。类由属性和方法组成。对象是类的实例。

自 PHP 5 起完全重写了对象模型以得到更佳性能和更多特性。这是自 PHP 4 以来的最大变化。PHP 5 具有完整的对象模型。

类的访问控制

对属性,或者方法的访问,通过再其前面添加关键字来实现。

一共有三种控制级别,public,private,protected。

public定义共有类成员,可以在任何地方被访问;

private定义私有类成员,只能在定义的类内使用和访问,不能继承,不能外部访问。

protected定义受保护的类成员,可以被自身,子类,和父类访问。

默认,是公有,属性和方法。

说概念不直观,来看例子。

先声明一个类,然后用new关键字实例化出来一个对象。然后这个对象就继承了类的所有属性和方法。

因为有访问控制,所以只有公有的方法和属性,才能访问。private,protected的属性和方法,是没有权限访问到的。

上面是项目中的一个完整的类。使用var声明的属性,默认是public公有属性。

特别i地,__construct()方法,是在该类实例化的时候,会执行其中的代码。该方法接收一个$path参数,在实例化的时候,会进行传入

其他方法,因为没有特别说明为public/private/protected,因此默认public。可外部访问。

下面看一下业务逻辑中,有都是如何使用这个类的。

$smarty = new template(ROOT_PATH . 'upgrade/templates/');

直接用new关键字,实例化。传入一个字符串参数,在实例化的时候,会执行__construct()方法。接着$smarty就可以自由访问template类的所有公有属性和方法了。

$smarty->assign('page_title',       $position['title']);    // 页面标题
$smarty->assign('ur_here',          $position['ur_here']);  // 当前位置
$smarty->display('activity.dwt');

大家可以看到,遵循规则定义,使用类和对象,程序封装的更为简洁了。

相关推荐

你真的会用Word画线吗?(word画线技巧)

【你真的会用Word画线吗?】①输入三个“=”回车,是一条双直线;②输入三个“”,回车,就是一条波浪线;③输入三个“”回车,就是一条虚线;④输入三个“-”,回车,就是一条细直线.....新技能get√...

「干货」Word技巧知识——进阶篇(2)

Hello,大家好,我是无拘无束的分享知识,每天跟大家分享点有用的知识,话不多说。感兴趣的朋友可以点赞、关注、收藏哦。1.将word文档中的硬回车全部消除从事来稿阅读、编辑的工作者,最头痛的事就是打...

办公室人员必备! Word快捷键大全(办公中常用的快捷键)

【Word里超简单的画线方法!】简历、总结里文字太多怎么办?用线条分隔!Word画线秘籍:①输三个"="回车,是一条双直线②输三个"~"回车,是一条波浪线③输三个"-"回车,就是一条细直线。(来源...

Word笔记大全(详细步骤)(word怎么写笔记)

字处理一、文档的基本操作1.打开/新建2.快速新建ctrl+n3.利用模板创建文件--新建--选择模板officeplus4.保存5.保护文件--信息--保护文档--限制编辑--对话框:勾选每一项...

如何删除word文档空白页?(怎么删除word里的空白页?)

在日常办公或学习中,我们经常会遇到Word文档中出现空白页的情况,这不仅影响文档的美观,还可能造成打印浪费。下面,我将为大家详细介绍如何在Office和WPS中的Word里轻松删除这些恼人的空白页。...

Win11学院:如何在Windows 11装机时禁用BitLocker磁盘加密

IT之家5月7日消息,微软计划在Windows1124H2装机过程默认启用BitLocker加密,对于用户来说有两方面的影响:其一是影响硬盘的性能,其二是用户如果没有解密密钥,可能...

办公小技巧:Word“安全模式”用通透

大家都知道Windows的安全模式。其实,Word也有安全模式。那么,Word的安全模式又是什么?何时使用这种模式?使用这种模式有何限制?当Word运行中遇到问题需要启用安全模式运行时,如何按照软件给...

段落结束敲回车,下一段格式变样了怎么处理#每天学习一点点

段落换行后的格式发生变化。段落结束敲回车键,下一段格式变样了怎么处理?大家有时候遇到文章敲回车键,在下一段打字之后会发现这一段的样子就会和之前的段落不一样,当然可以调整一下或者用格式刷刷一下,但是稍微...

硬回车、软回车等介绍(硬回车键和软回车键)

1.硬回车:硬回车占两个字节,在word中敲击Enter键即可输入硬回车,硬回车是真正的段落标记,在两个硬回车之间的文字自成一个段落。代码是^p(小写)。2.软回车:用Shift+Enter产...

Word里超简单的画线方法!(word中如何画线条)

小厅分享【Word里超简单的画线方法!】简历、总结里文字太多怎么办?用线条分隔!Word画线秘籍:①输三个"="回车,是一条双直线②输三个"~"回车,是一条波浪线③输三个"-"回车,就是一条细直线...

Word 如何更改图片、删除与删除背景,勾选图片等问题

  如果插入到Word文档中的图片想另外换一张,更换方法有两种,一种是把原图删除另外插入一张,另一种是直接更换图片。Word2016提供了更改图片的功能,用此功能更换图片会自动把原图删除,就像...

Word中批量删除空行(多种方案)(批量删除word中的空行)

如下图,在Word文档中存在大量空行(回车),为了文档整洁,需要批量取消这些回车;方法一Ctrl+h,在查找内容中输入”^p^p”,在替换为输入”^p”,单击全部替换即可(^符号在英文输入法下按Shi...

Word文档如何取消自动编号?(word文档如何取消自动编号功能)

在word文档中,当我们编辑有序号的文本内容时,word会自动识别给文本编号,如果直接删除序号再按回车键,序号又会自动填充。但有时候我们并不需要它自动编号或不喜欢它的编号格式,如何才能取消word自动...

最全的Word知识点,抓紧时间收藏起来

Word知识点1.1word工作界面Word2010的窗口组成∶窗口分标题栏、菜单栏、常用工具栏、格式工具栏、标尺、编辑区滚动条、状态栏、任务窗格。1.标题栏∶显示所编辑的文档名和程序名称。单击标题...

Word中的页眉横线就是删不掉?其实按下这个键,1秒就能去除

不知道大家在用Word的同时,有没有遇到过难删除的页眉横线呢?以前小编就是遇到这条横线,不得已将里面的文字复制到一个新的文档中,如今终于知道该怎样删除这条横线了,下面我们就来看看删除方法。一、删除页眉...

取消回复欢迎 发表评论: