您好,欢迎访问一九零五行业门户网

php常见知识点梳理总结

php方面:
1,echo print print_r的区别
echo是php语句,print与print_r是函数,语句没有返回值,函数可以有返回值。
print只能打印简单类型变量的值。
print_r可以打印复杂变量值(数组或对象)
echo 输出一个或者多个字符串。
2,mysql_fetch_array() 与mysql_fetch_row()区别
mysql_fetch_array()返回根据从结果集取得的行生成的数组,如果没有更多行,返回false,除了将数据以字段做索引外,还可以用字段名作为索引。
mysql_fetch_row() 返回从结果集中取得一行作为枚举数组,返回一个数字索引的数组,偏移量从0开始。
mysql_fetch_array() 是mysql_fetch_row()的扩展版本。
3,php面向对象中 _set() 与 _construct的作用
_set() ——- 用于为属性设置值, _get() 获取属性的值
_construct ——- 在一个类中只能声明一个构造方法,只有在每次创建对象的时候回去调用一次构造方法,不能主动的调用这个方法,所以通常用它执行一些有用的初始化任务。
4,php中session与cookie的区别
cookie是保存在客户端的信息,是一种在远程浏览器储存数据并以此来跟踪和识别用户的机制。php的http协议的头信息里发送cookie,因此setcookie()函数必须在其他信息输出前调用,和header()函数的限制类似。
session是保存在服务器端的信息,从这个角度,session比cookie更安全。当会话创建时,服务器返回客户端一个加密的session_id 以标识用户身份,浏览器关闭时,session会销毁,从而session存的值就没有了。
5,如何设置cookie并指定有效的时间
bool setcookie(string name,string value,int expire,string path,string domain,bool secure,bool httponly)
name : cookie变量名
value : cookie 变量值
expire: 有效期结束的时间
path: 有效目录
domain: 有效域名,顶级或唯一
secure: 如果值为1,则cookie只能在https连接上有效,如果为默认值0,http和https都可以
php设置cookie
$value = ‘something from somewhere’;
setcookie(“testcookie”, $value); /* 简单cookie设置 */
setcookie(“testcookie”, $value, time()+3600); /* 有效期1个小时 */
setcookie(“testcookie”, $value, time()+3600, “/~rasmus/”, “.example.com”, 1); /* 有效目录 /~rasmus,有效域名example.com及其所有子域名 */
?>
使用header()设置cookie;
header(“set-cookie: name=$value[;path=$path[;domain=xxx.com[; ]]”);
后面的参数和上面列出setcookie函数的参数一样.
cookie的机制原理:
a) 服务器通过随着响应发送一个http的set-cookie头,在客户机中设置一个cookie(多个cookie要多个头).
b) 客户端自动向服务器端发送一个http的cookie头,服务器接收读取.
http/1.x 200 ok
x-powered-by: php/5.2.1
set-cookie: testcookie=something from somewhere; path=/
expires: thu, 19 nov 2007 18:52:00 gmt
cache-control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
pragma: no-cache
content-type: text/html
这一行实现了cookie功能,收到这行后
set-cookie: testcookie=something from somewhere; path=/
浏览器将在客户端的磁盘上创建一个cookie文件,并在里面写入:
testcookie=something from somewhere;
/
这一行就是我们用setcookie(‘testcookie’,’something from somewhere’,’/’);的结果.也就是用header(‘set-cookie: testcookie=something from somewhere; path=/’);的结果.
6,php面向对象中的访问控制
public 表示全局,类内部外部子类都可以访问
private 表示私有,只有本类内部可以调用
protected 表示受保护的,只有本类或子类或父类可以访问
7,什么是php的mvc,mvc的作用及原理
mvc是一个设计模式,它强制性的使应用程序的输入,处理,输出分开,使用mvc应用程序本分成了三个核心部分:模型,视图,控制器,它们各自处理自己的任务。
mvc的原理:首先控制器接受用户的请求,并决定应该调用用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,然后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。
基本原理:表现层(v)的请求发送到控制器(c),控制器根据请求类型调用业务层(m),最终调用表现层显示。
8,php中include require 的区别
这两种结构在处理失败之外有不同,include产生一个警告,而require则导致一个致命的错误,换句话说,如果你想在遇到丢失文件时停止处理页面就用require。include就不是这样,脚本会继续执行。
require的使用方法如require(“myfile.php”); 这个表式通常放到php程式的最前面,php执行前,就会读入require所指定引入的档案,使它变成php程式网页的一部分。
include使用方法和上面相同,这个程式一般放到流程控制的处理区段,php程式网页在读到include的档案时,才将它读进来,这种方式,可以把程式执行时的流程简单化。
当页面执行到require()时,如果require是一个php、html页面的话,这时就会马上转到去执行该页面了。而include,一般是用于include进来一些inc文件。比如说可以将你的网站的页头和页眉作为一个inc文件,这样在每个php文件里面再include进来。include实际只是将你要include的文件嵌入到当前页面当中。而require则是马上去执行你所请求的页面。
——————————————————————————–
incluce在用到时加载
require在一开始就加载
_once后缀表示已加载的不加载
php系统在加载php程序时有一个伪编译过程,可使程序运行速度加快。但incluce的文档仍为解释执行
include的文件中出错了,主程序继续往下执行
require的文件出错了,主程序也停了
所以包含的文件出错对系统影响不大的话(如界面文件)就用include,否则用require
include_once()函数,require_once()函数会先检查目标档案的内容是不是在之前就已经导入过了,如果是的话,便不会再次重复导入同样的内容
10,计算两个时间差 2009.5.12 2009.5.20
$regist1 = “05/12/2006″;
$regist2 = “10/05/2007″;
list($month1,$day1,$year1)= explode(“/”,$regist1);
list($month2,$day2,$year2)= explode(“/”,$regist2);
$regist1 = mktime(0,0,0,$month1,$day1,$year1);
$regist2 = mktime(0,0,0,$month2,$day2,$year2);
$time_difference = $regist2-$regist1;
11,你了解的协议有哪些?http协议的错误提示代表什么?
smtp(simple mail transfer protocal)称为简单邮件传输协议,目标是向用户提供高效、可靠的邮件传输。
pop的全称是 post office protocol ,即邮局协议,用于电子邮件的接收,它使用tcp的110端口,现在常用的是第三版,所以简称为 pop3
imap是internet message access protocol的缩写,顾名思义,主要提供的是通过internet获取信息的一种协议。
http(hypertexttransferprotocol)是超文本传输协议的缩写,它用于传送www方式的数据,关于http协议的详细内容请参考rfc2616。
ie提示 http 403 – 禁止访问
ie提示 http 403.9 – 禁止访问:连接的用户过多
ie提示 http 404 – 无法找到文件
ie提示 http 500 – 内部服务器错误
其它类似信息

推荐信息