PHP知识点归纳_第1页
PHP知识点归纳_第2页
PHP知识点归纳_第3页
PHP知识点归纳_第4页
PHP知识点归纳_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PHP知识点归纳 1.PHP变量规则1)变量以符号开头,其后是变量的名称2)变量名称必须以字母或下划线开头3)变量名称不能以数字开头4)变量名称只能包含字母数字字符和下划线(A-z、0-9以及_)5)变量名称对大小写敏感(y与$Y是两个不同的变量)2.关于require()和include()1)require函数通常放在PHP程序的最前面2)include函数一般是放在流程控制的处理部分中3)require_once语句和require语句完全相同,唯一区别是PHP会检查该文件是否已经被包含过,如果是则不会再次包含4)include在引入不存文件时产生一个警告且脚本还会继续执行,而require则会导致一个致命性错误且脚本停止执行3.foreach循环并不能改变数组元素的值,如果要改变数组元素的值,需要使用引用类型4.preg_match()定义和用法1)preg_match()函数用于进行正则表达式匹配,成功返回1,否则返回0。 2)preg_match()匹配成功一次后就会停止匹配,如果要实现全部结果的匹配,则需使用preg_match_all()函数。 5.双引号和单引号的区别1)双引号解释变量,单引号不解释变量2)双引号里插入单引号,其中单引号里如果有变量的话,变量解释3)双引号的变量名后面必须要有一个非数字、字母、下划线的特殊字符,或者用讲变量括起来,否则会将变量名后面的部分当做一个整体,引起语法错误4)双引号解释转义字符,单引号不解释转义字符,但是解释和5)能使单引号字符尽量使用单引号,单引号的效率比双引号要高(因为双引号要先遍历一遍,判断里面有没有变量,然后再进行操作,而单引号则不需要判断)-3.20更新-6.请描述出两点以上XHTML和和HTML最显著的区别1).XHTML必须强制指定文档类型DocType,HTML不需要2).XHTML所有标签必须闭合,HTML比较随意3).XHTML严格区分大小写,所有标签的元素和属性的名字都必须使用小写4).XHTML要求所有的标记都必须要有一个相应的结束标记5).XHTML规定所有属性都必须有一个值,没有值的就重复本身7.CSS中中class和和id的区别id每个页ID是唯一的不能重复。 class可以设置多个class为同一个值。 8.表单中get与与post提交方法的区别?传输的最大容量分别是多少?答get是发送请求协议通过url参数传递进行接收,而post是实体数据,可以通过表单提交大量信息。 POST根据你php.ini文件配置(默认是8M),GET的话大小限制在2KB。 -4.21更新-(一晃已经一个月后?再不写就要发霉了?)9.memcache和redis的区别写出下列几个预定义全局变量的作用_SERVERDOCUMENT_ROOT/当前运行脚本所在的文档根目录_SERVER_HOST/当前请求的Host:头部的内容_SERVERREMOTE_ADDR/正在浏览当前页面用户的IP地址_SERVER_REFERER/链接到当前页面的前一页面的URL地址_SERVERSERVER_NAME/当前运行脚本所在服务器主机的名称_FILES/包含有所有上传的文件信息S_FILESuserfilename/客户端机器文件的原名称_FILESuserfiletype/文件MIME类型,如果浏览器提供此信息的话,如“image/gif”。 _FILESuserfilesize/已上传文件的大小,单位为字节_FILESuserfiletmp_name/文件被上传后在服务端储存的临时文件名_FILESuserfileerror/和该文件上传相关的错误代码PHP的意思,它能干些什么?PHP(Hypertext Preprocessor,超文本预处理器的字母缩写)是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到HTML中,尤其适合web开发。 PHP能做任何事。 PHP主要是用于服务端的脚本程序,因此可以用PHP来完成任何其它的CGI程序能够完成的工作,例如收集表单数据,生成动态网页,或者发送接收Cookies。 但PHP的功能远不局限于此。 PHP脚本主要用于以下三个领域服务端脚本。 这是PHP最传统,也是最主要的目标领域。 命令行脚本。 可以编写一段PHP脚本,并且不需要任何服务器或者浏览器来运行它。 通过这种方式,仅仅只需要PHP解析器来执行。 编写桌面应用程序。 12.说出数组涉及到的常用函数。 array-声明一个数组count-计算数组中的单元数目或对象中的属性个数foreach-遍历数组list-遍历数组explode-将字符串转成数组implode-将数组转成一个新字符串array_merge-合并一个或多个数组is_array-检查是否是数组print_r-输出数组sort-数组排序array_keys-返回数组中所有的键名array_values-返回数组中所有的值key-从关联数组中取得键名13.字符串的常用函数?trim()-去除字符串首尾处的空白字符(或者其他字符)strlen()-字符串长度substr()-截取字符串str_replace()-替换字符串函数substr_replace()-对指定字符串中的部分字符串进行替换strstr()-检索字符串函数explode()-分割字符串函数implode()-将数组合并成字符串str_repeat()-重复一个字符串addslashes();-转义字符串htmlspecialchars()-THML实体转义14.写出php的的public、protected、private三种访问控制模式的区别public公有,任何地方都可以访问protected继承,只能在本类或子类中访问,在其它地方不允许访问private私有,只能在本类中访问,在其他地方不允许访问15.PHP5中魔术方法函数有哪几个,请举例说明各自的用法_sleep serialize之前被调用_wakeup unserialize时被调用_toString打印一个对象时被调用_set_state调用var_export时被调用,用_set_state的返回值作为var_export的返回值_construct构造函数,实例化对象时被调用_destruct析构函数,当对象销毁时被调用_call对象调用某个方法,若存在该方法,则直接调用,若不存在,则调用_call函数_get读取一个对象属性时,若属性存在,则直接返回,若不存在,则调用_get函数_set设置一个对象的属性时,若属性存在,则直接赋值,若不存在,则调用_set函数_isset检测一个对象的属性是否存在时被调用_unset unset一个对象的属性时被调用_clone克隆对象时被调用_autoload实例化一个对象时,如果对应的类不存在,则该方法被调用-4.26更新-16.三个内置函数get_class返回一个对象的类的名称get_object_vars得到给定对象的属性get_class_methods获取类方法的名字17.PDO对象中的成员方法getAttribute()获取一个数据库连接对象的属性setAttribute()为一个数据库连接对象设定属性errorCode()获取错误码errorInfo()获取错误信息exec()处理一条SQL语句,并返回所影响的条数query()处理一条SQL语句,并返回一个PDOStatement对象quote()为某个sql中的字符串添加引号lastInsertId()获取插入到表中的最后一条数据的主键prepare()负责准备执行的sql语句getAvailableDriver()获取有效的PDO驱动器名称beginTransaction()开始一个事务mit()提交事务rollback()回滚事务-7.7更新PHP面试100题-正文内容1,Http和Https的区别第一是超文本传输协议,信息是明文传输,s是具有安全性的ssl加密传输协议第二和s使用的是完全不同的连接方式,端口也不一样,前者80或者443第三连接很简单,是无状态的。 s协议是由ssl+协议构建的可进行加密传输,身份认证的网络协议。 2.什么方法来加快页面的加载速度1,用到服务器资源时在打开,不用时,立即关闭服务器资源。 2,数据库添加索引3,页面可生成静态4,图片等大文件单独放在一个服务器5,能不查询数据库的尽量不去数据取数据,可以放在缓存中。 3.表单中get与post提交方法的区别?答:get是发送请求协议通过url参数传递进行接收,而post是实体数据,可以通过表单提交大量信息.4.echo,print,print_r的区别echo是php语句,无返回值。 print,print_r是函数,有返回值。 print()只能打印出简单类型变量的值(如int,string)print_r()可以打印出复杂类型变量的值(如数组,对象)echo输出一个或者多个字符串5.session与cookie区别session与cookie相同跨页面、不跨用户session与cookie不相同 1、session可以存储任意类型的数据,但cookie只能存储字符串 2、cookie产生在服务器端、存储在客户端session产生在服务器端、存储在服务器端6.魔术常量答案LINE文件中的当前行号。 FILE文件的完整路径和文件名。 FUNCTION函数名称CLASS类的名称METHOD类的方法名7.数据库中的事务是什么?答:事务(transaction)是作为一个单元的一组有序的数据库操作。 如果组中的所有操作都成功,则认为事务成功,即使只有一个操作失败,事务也不成功。 如果所有操作完成,事务则提交,其修改将作用于所有其他数据库进程。 如果一个操作失败,则事务将回滚,该事务所有操作的影响都将取消。 8.1优化MYSQL数据库的方法。 1、选择合适的字段的数据类型1)能用数字不用字符串2)char、varchar、text能用varchar不用char3)给字段加not null避免在表中出现NULL关键字(default值) 2、选择合适的字段充当主键1)建议每张表必须有主键2)用数字类型的字段充当主键拆分表拆分字段,将文章的标题与内容分开2)拆分记录,将今年的记录与往年的记录分开给字段合理添加索引a.格式:(普通索引)-创建:CREATE INDEXON tablename(索引字段)修改:ALTER TABLEtablename ADDINDEX索引名(索引字段)创表指定索引:CREATE TABLEtablename(.,INDEX索引名)(唯一索引)-创建:CREATE UNIQUEON tablename(索引字段)修改:ALTER TABLEtablename ADDUNIQUE索引名(索引字段)创表指定索引:CREATE TABLEtablename(.,UNIQUE索引名)(主键)-它是唯一索引,一般在创建表是建立,格式为:CREATA TABLEtablename(.,PRIMARY KEY索引字段) 5、事务处理:a.保证数据完整性,例如添加和修改同时,两者成立则都执行,一者失败都失败mysql_query(BEGIN);mysql_query(INSERT INTOcustomerinfo(name)VALUES(name1);mysql_query(SELECT*FROMorderinfowhere customerid=.id);mysql_query(MIT); 6、锁定表,优化事务处理:a.我们用一个SELECT语句取出初始数据,通过一些计算,用UPDATE语句将新值更新到表中。 包含有WRITE关键字的LOCK TABLE语句可以保证在UNLOCK TABLES命令被执行之前,不会有其它的访问来对inventory进行插入、更新或者删除的操作mysql_query(LOCK TABLEcustomerinfo READ,orderinfo WRITE);mysql_query(SELECT customeridFROM customerinfowhere id=.id);mysql_query(UPDATEorderinfoSET ordertitle=titlewhere customerid=.$id);mysql_query(UNLOCK TABLES); 7、使用外键,优化锁定表a.把customerinfo里的customerid映射到orderinfo里的customerid,任何一条没有合法的customerid的记录不会写到orderinfo里CREATE TABLEcustomerinfo(customerid INTNOT NULL,PRIMARY KEY(customerid)TYPE=INNODB;CREATE TABLEorderinfo(orderid INTNOT NULL,customerid INTNOT NULL,PRIMARY KEY(customerid,orderid),FOREIGN KEY(customerid)REFERENCES customerinfo(customerid)ON DELETECASCADE)TYPE=INNODB;注意:ON DELETECASCADE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论