▓神来棋牌A9602点com ▓拥有多年专业标准化的网络服务的经验,神来棋牌凭借对互联网产品的深耕经验及对App的持续研究,神来棋牌app已成为国内最专业、服务最好的平台App,龙城棋牌平台欢迎您!神来棋牌,神来棋牌APP,神来棋牌平台,神来棋牌注册开户,神来棋牌官方಻
当前位置:主页 > PHP笔记 > 正文

神来棋牌唯一官方网站PHP学习笔记

09-05 PHP笔记

  //语法错误(syntax error)在语法分析阶段,源代码并未被执行,故不会有任何输出

  PHP_SAPI //用来判断是使用命令行还是浏览器执行的,如果 PHP_SAPI==cli 表示是在命令行下执行

  get_defined_vars //返回由所有已定义变量所组成的数组(包括环境变量、服务器变量和用户定义的变量)

  * 引用传递中,删除一个变量及其引用,其他变量及引用均存在,且值依然存在

  整型占用4字节,共4*8=32位,最大值为2147483647,最小值为-2147483648,最小值的绝对值比最大值的大1

  \[0-7]{1,3} 符合该正则表达式序列的是一个以八进制方式来表达的字符

  \x[0-9A-Fa-f]{1,2} 符合该正则表达式序列的是一个以十六进制方式来表达的字符

  可将字符串当作一个字符的集合来使用,可独立访问每个字符。仅适用于单字节字符(字母、数字、半角标点符号),像中文等不可用

  a. 条件初始化表达式被省略时,循环变量被赋值为null,在与条件判断时

  如果条件判断表达式由多条语句组成,都会执行,但只有最后一条语句才作为判断条件

  6. 应该将可以初始化的语句均放在条件初始化表达式内,这样可以省去很多执行次数

  可以从循环(switch)中跳出来,但不能从外部跳转进去。而函数或类方法,向外向内均不可

  文件载入属于执行阶段,神来棋牌唯一官方网站当执行到require等语句时,才载入该文件的代码

  如果文件名前带有路径,则会直接根据路径查找,include_path直接被忽略

  return与require结合,可返回文件的内容,return写在被载入的文件内

  3. 如果函数的定义在需要载入的文件内,则需要先载入该文件,否则调用出错

  引用传递参数,应该在定义函数时就在形式参数前加上 & 符号,而此时调用函数实参必须为变量

  func_get_args() 获取当前函数被调用时所有实参的值,返回一个所有实参值组成的数组

  a. 函数只有一个返回值,可以通过返回一个数组来得到类似的结果,但可以有多条return语句

  b. return语句会立即中止函数的运行,并将控制权交回调用该函数的代码行

  - 从函数返回一个引用,必须在函数声明和指派返回值给一个变量时都使用引用操作符&

  b. 超全局变量,既可以在全局也可在局部使用,仅能用系统自带的,均是数组变量

  4) PHP生命周期中,定义在函数体外部的所谓全局变量,函数内部是不能直接获得的

  global在函数产生一个指向函数外部变量的别名变量,而不是真正的函数外部变量

  global的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require的所有文件

  静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失

  递归是一种思想(算法),将大问题拆分成小问题,逐一解决小问题以解决大问题

  匿名函数,也叫闭包函数(closures),允许临时创建一个没有指定名称的函数

  6. 声明函数时可以使用 use($param) 来向函数中传入函数外的变量,结合变量引用来实现闭包

  PHP存在一个array_map()函数,功能是针对一个函数内每个元素,去调用某个函数

  current/pos 返回当前被内部指针指向的数组单元的值,并不移动指针

  next 将数组中的内部指针向前移动一位,并返回移动后当前单元的值。先移动,再取值

  prev 将数组的内部指针倒回一位,并返回移动后当前单元的值先移动,再取值

  返回的是一个由键和值组成的长度为4的数组,下标0和key表示键,下标1和value表示值

  1. 以上指针操作函数,除了key(),若指针移出数组,则返回false。而key()移出则返回null

  谁第一个进行写操作,就会开辟一个新的值空间。与变量(数组变量)值传递给谁无关

  6. foreach遍历的是原数组的拷贝,而在循环体对数组的操作是操作原数组

  如果指定了可选参数 search_value,则只返回该值的键名。否则input数组中的所有键名都会被返回

  array_search 在数组中搜索给定的值,如果成功则返回相应的键名

  array_combine 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值

  array_rand 从数组中随机取出一个或多个单元,返回键名或键名组成的数组,下标是自然排序的

  array_map 将回调函数作用到给定数组的单元上,只能处理元素值,可以处理多个数组

  array_walk 对数组中的每个成员应用用户函数,只能处理一个数组,键和值均可处理,与foreach功能相同

  array_pop 将数组最后一个单元弹出(出栈) 使用此函数后会重置(reset())array 指针

  uasort 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联

  natcasesort 用“自然排序”算法对数组进行不区分大小写字母的排序

  array_udiff_assoc 带索引检查计算数组的差集,用回调函数比较数据

  array_udiff_uassoc 带索引检查计算数组的差集,用回调函数比较数据和索引

  array_diff_uassoc 用用户提供的回调函数做索引检查来计算数组的差集

  extract($arr [,$type [,$prefix]]) 从数组中将变量导入到当前的符号表(接受结合数组$arr作为参数并将键名当作变量名,值作为变量的值)

  compact($var [,...]) 建立一个数组,包括变量名和它们的值(变量名成为键名而变量的内容成为该键的值)

  mysql_fetch_array 从结果集中取得一行作为关联数组,或数字数组,或二者兼有

  - 析构函数会在到某个对象的所有引用都被删除或者当对象被显式销毁时执行

  - 静态成员(属性或方法)均属于类,故不能通过$this或-访问

  - 静态属性只能被初始化为一个字符值或一个常量,不能使用表达式。 所以你可以把静态属性初始化为整型或数组,但不能指向另一个变量或函数返回值,也不能指向一个对象

  - 由于静态方法不需要通过对象即可调用,所以伪变量$this在静态方法中不可用

  - self 和 parent 这两个特殊的关键字是用于在类的内部对成员或方法进行访问的

  - 对象成员,内部通过$this指定,外部通过对象名指定,均用-访问,访问属性时不需加$

  - 类成员,内部通过self或parent指定,外部通过类名指定,均用::访问,访问属性时需加$

  - 常量的值必须是一个定值,不能是变量,类属性或其它操作(如函数调用)的结果

  - 自动加载使用到的类名文件(根据类名找相应名称的文件,故需类名与类文件名一致)

  - 将__autoload函数写入单独的文件,每个需要用到类的文件再require该函数文件

  - 如果一个项目存在多个自动加载函数时,定义一个可以完成加载的普通函数,并在函数之前使用spl_autoload_register注册该函数

  - 返回字符串,此字符串包含了表示value的字节流,可以存储于任何地方

  单继承:一个类只能继承一个父类,不能同时继承多个类。但一个父类可以被多个子类继承

  私有属性不能被重写,每个私有属性都会被记录。在记录属性名的同时,还会记录类

  如果有内置函数被重写,则可调用父类方法。如调用父类构造方法parent::__construct()

  - 环境的传递。如果当前调用时,不能确定$this的值(静态调用),此时静态调用所处对象环境会传递到被调用的方法内

  如果类方法被声明为抽象的,那么其中就不能包括具体的功能实现。抽象方法不能包含大括号及方法体

  即,如果抽象类中某个抽象方法被声明为protected,那么子类中实现的方法就应该声明为protected或者public,而不能定义为private

  - 使用接口可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容

  - 通过interface来定义一个接口,就像定义一个标准的类一样,但其中定义所有的方法都是空的

  - 接口中定义的所有属性和方法都必须是public,可省略public关键字

  - 接口中也可以定义常量(const)。接口常量和类常量的使用完全相同

  static::不再被解析为定义当前方法所在的类,而是在实际运行时计算的

  单例模式(Singleton)用于为一个类生成一个唯一的对象。最常用的地方是数据库连接。使用单例模式生成一个对象后,该对象可以被其它众多对象所使用

  在静态方法中,这些魔术方法将不会被调用。所以这些方法都不能被声明为static

  __call 当调用一个不可访问的非静态方法(如未定义,或者不可见)时自动被调用

  __callStatic 当在调用一个不可访问的静态方法(如未定义,或者不可见)时自动被调用

  # $name参数是要调用的方法名称。$arguments参数是一个数组,包含着要传递给方法的参数

  static 静态成员(属性、方法),所有对象均可使用,外部也可直接使用或修改,静态方法不可访问非静态成员

  final 方法用final不可被子类重载,类用final不可被继承(方法、类)

  implements 接口实现(类实现接口、抽象类实现借口)(对接口的实现和继承均可有多个)

  __PHP_Incomplete_Class 不完整类,当只有对象而没有找到类时,则该对象被认为是该类的对象

  header()执行完毕后,后面的代码也会继续执行,故需在该语句后加die结束

  cookie是HTTP标头的一部分,因此setcookie()函数必须在其它信息被输出到浏览器前调用,这和对header()函数的限制类似。可以使用输出缓冲函数来延迟脚本的输出,直到按需要设置好了所有的cookie或者其它HTTP标头

  $value - cookie值,可以为数值或字符串,此值保存在客户端,不要用来保存敏感数据

  如果$expire参数的值为time()+60*60*24*7则可设定cookie在一周后失效。如果未设定该参数,则会话后立即失效

  $path - cookie在服务器端的指定路径。当设定该值时,服务器中只有指定路径下的网页或程序可以存取该cookie

  $domain - 指定此cookie所属服务器的网址名称,预设是建立此cookie服务器的网址

  $secure - 指明cookie是否仅通过安全的HTTPS连接传送中的cookie的安全识别常数,如果设定该值则代表只有在某种情况下才能在客户端与服务端之间传递

  当设成true时,cookie仅在安全的连接中被设置。默认值为false

  - 任何从客户端发送的cookie都会被自动存入$_COOKIE全局数组

  - 如果希望对一个cookie变量设置多个值,则需在cookie的名称后加[]符号。即以数组形态保存多条数据到同一变量

  //将cookie的生存时间设置为过期,则生存期限与浏览器一样,当浏览器关闭时就会被删除

  7. 浏览器对COOKIE总数没有限制,但对每个域名的COOKIE数量和每个COOKIE的大小有限,而且不同浏览器的限制不同

  注意:session_start()函数前不能有输出!除非开启ob缓存

  3. 浏览器端保存SessionID,默认为当前域名下的所有目录及其子目录生效。即默认设置cookie的path值为/

  默认保存方式:每个会话都会生成一个session数据文件,文件名为:sess_加SessionID

  但是服务器端的session数据文件不一定消失(需要等待session的垃圾回收机制来处理)

  PHP配置文件下session.save_path选项,并需手动创建数据存放目录

  在该配置选项前加层级。分布子目录的原则,利用会话ID的相应字母来分配子目录。仍需手动创建子目录

  session.hash_bits_per_character 允许用户定义将二进制散列数据转换为可读的格式时每个字符存放多少个比特

  # 注意:不用关心PHP如何序列化、反序列化、如何得到数据和写入数据,只做与数据存储相关的操作

  如果选择了默认的files文件处理器,则此值是创建文件的路径。默认为/tmp

  要使用N参数,必须在使用前先创建好这些目录。在ext/session目录下有个小的shell脚本名叫mod_files.sh可以用来做这件事

  session.save_handler 定义了来存储和获取与会话关联的数据的处理器的名字。默认为files

  session.auto_start 指定会话模块是否在请求开始时自动启动一个会线(不启动)

  imagecolormatch 使一个图像中调色板版本的颜色与真彩色版本更能匹配

  imagecolorresolve 取得指定颜色的索引值或有可能得到的最接近的替代值

  get_headers — 取得服务器响应一个 HTTP 请求所发送的所有标头

  w 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之

  w+ 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之

  a+ 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之

  $opt:LOCK_SH 取得共享锁定(读取的程序);LOCK_EX 取得独占锁定(写入的程序);LOCK_UN 释放锁定(无论共享或独占)

  GLOB_NOSORT - 按照文件在目录中出现的原始顺序返回(不排序)

  $newname可以为dir/file,这样可以将文件添加到压缩文件中的某个目录下。其他函数也如此

  //为防止文件名本身可被转换为false的情况(比如为0),则需用不全等!==

  MAX_FILE_SIZE 表示表单数据最大文件大小,该元素需在文件上传域之前。(默认2M)

  FORM表单中的name值可用名称加中括号的形式,在$_POST获取表单数据时,可多项提交形成数组

  $id = $_POST[id]; //则可获得全部被选中的复选框值,形成索引数组

  $len:每段字符串的长度,$end:每段字符串末尾加的字符串(如\r\n)

  如果str1小于str2,返回负数;如果str1大于str2,返回正数;二者相等则返回0

  strspn$subject, $mask) //计算字符串中全部字符都存在于指定字符集合中的第一段子串的长度

  当打开时,所有的单引号,双引号,反斜线和NULL字符都会被自动加上一个反斜线进行转义。这和addslashes()作用完全相同

  - 自定义错误处理器函数返回false,则自定义函数结束后系统内置的会继续执行

  - 用户定义的错误级别(E_USER_ERROR),可以被自定义的错误处理器所捕获并继续执行。系统内置的错误,则脚本会立即停止

  $get_as_float参数存在并且其值等价于TRUE,将返回一个浮点数

  PATH_TRANSLATED 当前脚本所在文件系统(非文档根目录)的基本路径

  PATH_INFO 包含由客户端提供的、跟在真实脚本名称之后并且在查询语句(query string)之前的路径信息

  如果输出缓存打开,则输出的数据先放到输出缓存(header函数前可以有输出),否则直接放入程序缓存

  开启输出缓存后,输出缓存数据会刷新到程序缓存,然后有Apache封装成http响应包返回给浏览器

  输出缓存:存放的数据是从开启输出缓存开始返回给浏览器的所有静态页面数据

  ob_start() //打开一个输出缓冲区,所有的输出信息不再直接发送到浏览器,而是保存在输出缓冲区里面

  ob_clean(); //删除内部缓冲区的内容,不关闭缓冲区(不输出)

  ob_flush(); //发送内部缓冲区的内容到浏览器,删除缓冲区的内容,不关闭缓冲区

  ob_end_flush(); //发送内部缓冲区的内容到浏览器,删除缓冲区的内容,关闭缓冲区

  ob_get_flush(); //返回内部缓冲区的内容,并关闭缓冲区,再释放缓冲区的内容。相当于ob_end_flush()并返回缓冲区内容

  ob_get_length(); //返回内部缓冲区的长度,如果缓冲区未被激活,该函数返回FALSE

  ob_implicit_flush(); //打开或关闭绝对刷新,默认为关闭,打开后ob_implicit_flush(true),所谓绝对刷新,即当有输出语句(e.g: echo)被执行时,便把输出直接发送到浏览器,而不再需要调用flush()或等到脚本结束时才输出

  output_buffering //该值为ON时,将在所有脚本中使用输出控制;若该值为一个数字,则代表缓冲区的最大字节限制,当缓存内容达到该上限时将会自动向浏览器输出当前的缓冲区里的内容

  output_handler //该选项可将脚本所有的输出,重定向到一个函数。例如,将 output_handler 设置为 mb_output_handler() 时,字符的编码将被修改为指定的编码。设置的任何处理函数,将自动的处理输出缓冲

  1)防止在浏览器有输出之后再使用setcookie()、header()或session_start()等发送头文件的函数造成的错误。其实这样的用法少用为好,养成良好的代码习惯

  2)捕捉对一些不可获取的函数的输出,比如phpinfo()会输出一大堆的HTML,但是我们无法用一个变量例如$info=phpinfo();来捕捉,这时候ob就管用了

  3)对输出的内容进行处理,例如进行gzip压缩,例如进行简繁转换,例如进行一些字符串替换

  4)生成静态文件,其实就是捕捉整页的输出,然后存成文件。经常在生成HTML,或者整页缓存中使用

  url可以是js/php/图片等,返回的数据替换script标签所在位置的内容!相当于简单的Ajax

  单例模式:为一个类生成一个唯一的对象。使用单例模式生成一个对象后,该对象可以被其它众多对象所使用

  工厂模式:封装对象的建立过程。可以在对象本身创建对象工厂或者是一个额外的工厂类

  $return:设置为TRUE,高亮后的代码不会被打印输出,而是以字符串的形式返回。高亮成功返回TRUE,否则返回FALSE

神来棋牌 神来棋牌app 神来棋牌手机版官网 神来棋牌游戏大厅 神来棋牌官方下载 神来棋牌安卓免费下载 神来棋牌手机版 神来棋牌大全下载安装 神来棋牌手机免费下载 神来棋牌官网免费下载 手机版神来棋牌 神来棋牌安卓版下载安装 神来棋牌官方正版下载 神来棋牌app官网下载 神来棋牌安卓版 神来棋牌app最新版 神来棋牌旧版本 神来棋牌官网ios 神来棋牌我下载过的 神来棋牌官方最新 神来棋牌安卓 神来棋牌每个版本 神来棋牌下载app 神来棋牌手游官网下载 老版神来棋牌下载app 神来棋牌真人下载 神来棋牌软件大全 神来棋牌ios下载 神来棋牌ios苹果版 神来棋牌官网下载 神来棋牌下载老版本 最新版神来棋牌 神来棋牌二维码 老版神来棋牌 神来棋牌推荐 神来棋牌苹果版官方下载 神来棋牌苹果手机版下载安装 神来棋牌手机版 神来棋牌怎么下载



相关推荐:



版权保护: 本文由 主页 原创,转载请保留链接: http://www.furiku.comhttp://www.furiku.com/News/90.html

博客主人YeLongCu
男,文化程度不高性格有点犯二,已经20来岁至今未婚,闲着没事喜欢研究各种代码,资深技术宅。
  • 文章总数
  • 47255访问次数
  • 建站天数
  • 标签

    友情链接