php笔记1

php从零开始

1.基础篇

1.1  php变量

php的变量定义必须以$符号开始,变量名区分大小写,且只能包含字母数字以及下划线(这点貌似汇编语言通用的规则)

php定义变量不需要定义数据类型,会自动转?(数字转number?其它的转string?)

变量的四种作用域{

local: 局部变量;

global: 全局变量;

static: 当函数执行完内部的局部变量会被回收,而static定义会阻止其被删除;

parameter: 所谓的参数作用域值的是传给函数的实参;

}

$变量的作用域: 在函数外部定义的变量称之为全局,但是在函数内部访问全局变量的话需要使用global关键字(凑,这样难道

就能节省命名空间了么?降低垃圾回收的内存消耗?)

在函数内使用全局变量时不能给global 变量直接赋值(难道是因为不能重复定义么?无论外部是否已经赋值,只要

全局变量已经定义,就不能在函数内部给全局变量定义的同时赋值)

PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。

index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。

1.2 echo与print (这俩个只能输出字符串)

echo语句: 可以输出一个或者多个字符串;

print语句: 只允许输出一个字符串;

相对而言:前者比后者速度更快(难道是因为前者没有返回值,或者总是返回1的缘故??);

俩者都能输出html标签,但是在使用标签的情况下不能使用括号,因为这样会造成标签的解析错误.

只有引号内的标签才能正常解析.

1.3 php eof

    用来定义一个字符串,必须后接分号,标识结束符必须独占一行.

eof开始标签后不能有空格或者tab字符;

1.4 php 7大数据类型

字符串(string)

整型(integer)

浮点型(float)

布尔型(boolean)

arrqy(数组)

object(对象)

null(空值)

可以使用var_dump函数来检测变量的数据类型

1.5 常量

常量名不需要使用$修饰符,常量默认为全局,且在函数内部可以直接使用常量,不需要global修饰符

使用define 定义常量 常量名默认区分大小写的

1.6 php变量

php的唯一字符串运算符".",用于拼接字符串(为什么不直接加号,其他服务端语言是否也不是加号呢?)

strlen()函数检测字符串的长度(是否计算空格的长度?空格也算做长度,不管是否在字符之后)

strpos()函数返回所检索值的首字符位置,与js的indexOf()相似;

1.7 PHP_EOL文本换行(如果在浏览器中echo或者print那么得到到只能是字符串,只有在终端运行才能换行,例如:"php demo.php")

因为不同平台换行的指令不一样,windows下是"/r/n",mac用"/r",linux下用'/n',

所以php的一个属性PHP_EOL适用于所有平台的文本换行.

1.8 php中的组合运算符"<=>"

组合操作符也称之为太空操作符,

如果第一个运算符成立 则返回 -1

中间的运算符成立 则返回 0

第三个运算符成立 则返回 1

1.9 php中的数组

{

  数值数组:带有数字ID键的数组;

  关联数组:带有指定键的数组,每个键关联一个值;

  多维数组:包含一个或者多个数组的数组;

}

那么怎么区分呢,首先数组是按照一定顺序逻辑排列的能存储多个值的特殊变量;

那么三者之间的区别就在于排布逻辑;数值即按默认的数值id递增,下一项的索引(id)会默认加一;索引遍历即可.

而关联数组则是指定某个键值对作为每一项,且可以无序,这样就不是通过索引来配对了,键值对遍历即可.

在js中就是数组每项都是对象这样;(这点比js要舒服些)

多维数组就顾名思义了,数组的每一项都可以是数组,而数组的类型可以是以上任意一种,遍历的话就需要看具体情况了.

数组的长度则需要是用count()函数了

$貌似除了数值数组能使用for循环外,其它的俩个数组只能使用foreach开遍历,是因为php中没有对象这个概念.

1.10 数组排序

sort()对数组进行升序排序

rsort()降序排序

asort()根据关联数组的值,升序

ksort()根据关联数组的键,升序

arsort()根据关联数组的值,降序

krsort()根据关联数组的键,降序

1.11 php中输出语法指令集合

$1. echo,print 只能输出字符串

$2. die() 一般用于数据库连接的判断,一旦持行die后面的内容讲不执行

$3. printf() 用于格式化输出

4. sprintf() 把输出内容放在变量中 并不能直接输出内容,只能存在于变量之中

$5. print_r() 用于输出数组

$6. var_dump 可以输出任何内容

7. var_export() 返回关于传递给函数的变量的结构函数

1.12 php中的超级全局变量

所谓的超级变量类似于js中的window对象中的属性概念.

$GLOBALS:一个包含了全部变量的的全局组合数组(局部变量呢?被回收了的局部变量呢?只限于全局变量)

$_REQUEST.........具体查看官方文档

1.13 php中的预定义常量

__LINE__ 文件的当前行号

__FILE__ 文件的完整路径与文件名

__DIR__ 文件所在的目录

__FUNCTION__ 函数名称

__CLASS__ 类名

__TRAIT__ trait与use配合使用,可以时一个类集成基类方法属性的同时,又能拥有别的类的方法

__METHOD__ 类的方法名

__NAMESPACE__ 当前命名空间的名称

1.14 php的命名空间

其意义在于将引进了前端模块化的思想,这样可以避免命名的冲突,不至于因为代码量大臃肿导致维护困难.

将全局的非命名空间中的代码与命名空间中的代码组合在一起,只能使用大括号形式的语法。

全局代码必须用一个不带名称的 namespace 语句加上大括号括起来,与vue一样都能使用子命名空间.

1.15 php的构造函数 __construct()

主要用来创建对象时初始化对象,比如给对象成员变量赋初始值

PHP 不会在子类的构造方法中自动的调用父类的构造方法。要执行父类的构造方法,需要在子类的构造方法中调用 parent::__construct() 。

1.16 php的析构函数 __destruct()

在对象结束其生命周期时,系统自动执行析构函数

1.17 php的类继承 extends

1.18 php对属性和方法的访问控制

public(共有): 公有的类成员可以在任何地方被访问

protected(受保护): 受保护的类成员则可以被其自身以及其子类和父类访问,实例化的会报错.

private(私有): 私有的类成员则只能被其所定义的类访问

前俩者可以因为可以被继承,所以是可以重定义的,但是私有不允许

1.18 使用interface来定义接口 与类想死,但是定义的所有方法都是空的,

  要实现一个接口,就得使用implements操作符,类中必须实现接口中定义的所有方法,否则会报错.

1.19 抽象的类不能实例化 关键字 abstract

1.20 static关键字定义的类属性或方法,不能被实例化类直接访问

    php调用类的内部静态成员,或者是类之间调用就要用::

1.21 如果父类中的方法被声明为 final,则子类无法覆盖该方法。如果一个类被声明为 final,则不能被继承。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,012评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,628评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,653评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,485评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,574评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,590评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,596评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,340评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,794评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,102评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,276评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,940评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,583评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,201评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,441评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,173评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,136评论 2 352

推荐阅读更多精彩内容

  • PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。PHP(全称:PHP:Hypertext Prepro...
    浮若年华_7a56阅读 490评论 1 0
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,171评论 0 3
  • 爆竹声中一岁除,春风送暖入屠苏。千门万户曈曈日,总把新桃换旧符。”这是一首充满了过年气氛的诗《元日》。现在...
    高二8班怡阅读 396评论 0 1
  • 付达新商贸~众德营销 沈阳盛和塾道盛组/稻芽七组 {祈愿} (1)追求付达新全体员工物心双幸福,打造高收益幸福企业...
    熊志军阅读 115评论 0 0
  • 2月5日结束了一个月的巴国志愿者旅行 来之前由于看了太多的对这里安全问题的负面报道,只办了三十天的签证。然而我最后...
    cabell阅读 224评论 0 0