PHP常见考点

  1. 双引号和单引号的区别
    1. 双引号解释变量,单引号不解释变量
    2. 双引号里插入单引号,其中单引号里如果有变量的话,变量解释
    3. 双引号的变量名后面必须要有一个非数字、字母、下划线的特殊字符,或者用{}讲变量括起来,否则会将变量名后面的部分当做一个整体,引起语法错误
    4. 双引号解释转义字符,单引号不解释转义字符,但是解释’\和\
    5. 能使单引号字符尽量使用单引号,单引号的效率比双引号要高(因为双引号要先遍历一遍,判断里面有没有变量,然后再进行操作,而单引号则不需要判断)
  2. 常用的超全局变量(8个)
    1. $_GET —–>get传送方式
    2. $POST —–>post传送方式
    3. $REQUEST —–>可以接收到get和post两种方式的值
    4. $GLOBALS —–>所有的变量都放在里面
    5. $FILE —–>上传文件使用
    6. $SERVER —–>系统环境变量
    7. $SESSION —–>会话控制的时候会用到
    8. $COOKIE —–>会话控制的时候会用到
  3. 表单中get和post提交方式的区别
    1. get是把参数数据队列加到提交表单的action属性所指的url中,值和表单内各个字段一一对应,从url中可以看到;post是通过HTTPPOST机制,将表单内各个字段与其内容防止在HTML的head中一起传送到action属性所指的url地址,用户看不到这个过程
    2. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据
    3. get传送的数据量较小,post传送的数据量较大,一般被默认不受限制,但在理论上,IIS4中最大量为80kb,IIS5中为1000k,get安全性非常低,post安全性较高
    4. GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容,即该请求不会产生副作用。无论进行多少次操作,结果都是一样的。
    5. 与GET不同的是,PUT请求是向服务器端发送数据的,从而改变信息,该请求就像数据库的update操作一样,用来修改数据的内容,但是不会增加数据的种类等,也就是说无论进行多少次PUT操作,其结果并没有不同。
    6. POST请求同PUT请求类似,都是向服务器端发送数据的,但是该请求会改变数据的种类等资源,就像数据库的insert操作一样,会创建新的内容。几乎目前所有的提交操作都是用POST请求的。
    7. DELETE请求顾名思义,就是用来删除某一个资源的,该请求就像数据库的delete操作。
  4. http状态码
    1. 常见的HTTP状态码:
      1. 200 - 请求成功
      2. 301 - 资源(网页等)被永久转义到其他URL
      3. 404 - 请求的资源(网页等)不存在
      4. 505 - 内部服务器错误
    2. HTTP状态码分类:
      1. 1** - 信息,服务器收到的请求,需要请求者继续执行操作
      2. 2** - 成功,操作被成功接收并处理
      3. 3** - 重定向,需要进一步的操作以完成请求
      4. 4** - 客户端错误,请求包含语法错误或者无法完成请求
      5. 5** 服务器错误,服务器在处理请求的过程中发生了错误
  5. 如何获取客户端的ip(要求取得一个int)和服务器ip的代码
    1. 客户端:$_SERVER["REMOTE_ADDR"];或者getenv('REMOTE_ADDR')进行转换
    2. 服务器端:gethostbyname(‘www.baidu.com’)
  6. 数据库优化
    1. 选取最适用的字段属性,尽可能减少定义字段宽度,尽量把字段设置NOTNULL,例如’省份’、’性别’最好适用ENUM
    2. 使用连接(JOIN)来代替子查询
    3. 适用联合(UNION)来代替手动创建的临时表
    4. 事务处理
    5. 锁定表、优化事务处理
    6. 适用外键,优化锁定表
    7. 建立索引
    8. 优化查询语句
  7. 对于大流量网站,采用什么方法来解决访问量的问题
    1. 确认服务器硬件是否能够支持当前的流量
    2. 数据库读写分离,优化数据表
    3. 程序功能规则,禁止外部的盗链
    4. 控制大文件的下载
    5. 使用不同主机分流主要流量
  8. 语句include和require的区别是什么?为避免多次包含同一文件,可以用(?)语句代替他们
    1. require是无条件包含,也就是如果一个流程里加入require,无论条件成立与否都会先执行require,当文件不存在或者无法打开的时候,会提示错误,并且会终止程序执行
    2. include有返回值,而require没有(可能因为如此require的速度比include快),如果被包含的文件不存在的化,那么会提示一个错误,但是程序会继续执行下去
    3. 注意:包含文件不存在或者语法错误的时候require是致命的,而include不是
    4. require_once表示了只包含一次,避免了重复包含
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值