1.什么是PHP?

  PHP是一个基于服务端来创建动态网站的脚本语言,可以通过PHP和HTML 生成网站主页。

2.什么是面向对象?主要特征是什么?

  面向对象是程序的一种设计方式,利于提高程序的重用性,使程序结构更加清晰。主要特征:封装、继承、多态。

3.session和cookie的区别是什么?请从协议,产生原因与作用说明一下?

  1.http协议是无状态协议,不能区分用户是否是从同一个网站上来的,同一个用户请求不同的页面不能看做是同一个用户。

  2.存储位置不同:session存储在服务器端;cookie保存在客户端;

   安全性:session比较安全,cookie用某些手段可以更改,不安全。session依赖于cookie进行传递,禁用cookie后,session不能正常使用。

  3.session的缺点:保存在服务器端,每次读取都要从服务器进行读取,对服务器有资源消耗。session保存在服务器端的文件或数据库中,默认保存在文件中,文件路径由PHP配置文件的session.save_path指定。session文件是公有的。

4.如何不使用cookie的情况下向客户端发送一个cookie. 

     理解:session_start()开启时,生成一个常量 SID,当COOKIE开启时,这个常量为空,当COOKIE关闭时,这个常量中存储了PHPSESSID的值。通过在URL后加一个SID参数来传递SESSIONID的值,从而使客户端页面可以使用SESSION里面的值。  当客户端开启COOKIE和服务器端开启SESSION时。浏览器第一次请求,服务器会向浏览器端发送一个COOKIE里面存储的SESSIONID,当浏览器第二次请求时,会把已存在的COOKIE一起提交到服务器端。

5.简述Cookie的设置以及获取过程?

  设置cookie的值:setCookie($cookieName,$value,time()+秒数);//依次是:cookie名称,cookie值,保存时间。

例子:创建一个cookie,名字为UserName,值为zs,过期时间为2个星期

代码如下:

  setcookie("UserName","zs",time()+2*7*24*3600);

如果不设置时间,就不会保存到cookie文件中。浏览器不关时,能够访问。当浏览器关闭时,就无法访问了。

例子:

代码如下:
  setcookie("Age","18");

2.取cookie的值

  $_cookie[$cookieName];

例子:取出UserName的值,放在变量$uName中

  $uName=$_COOKIE['UserName'];

取值的时候,一般会先判断是否为空,再进行取值操作。上面的取值操作一般这样写:

  if (!empty($_COOKIE['UserName']))
{

$uName=$_COOKIE['UserName'];

}

3.删除指定cookie

  setcookie($cookieName,value,time()-秒数);
  //或者
  setcookie($cookiename, '');
  //或者
  setcookie($cookiename, NULL);

例子:删除UserName

  setcookie("UserName","zs",time()-3600);

4.删除当前会话的所有cookie

foreach($_COOKIE as $key=>$val){
  setcookie($key,"",time()-100);
}

6.http状态中302,403,500,200,404,502代码的含义?

一二三四五原则:

  一:消息队列  二:成功系列  三:重定向系列 四:请求错误系列 五:服务器端错误系列

302:临时转移成功,请求的内容已转移到新位置

403:禁止访问

500:服务器内部错误

401:代表未授权

200:请求成功

404:文件未找到

502:服务器内部错误

7.请写出数据类型(int char varchar datetime text)的意思,以及char和varchar的区别?

  int  整型   char 定长字符 varchar 变长字符  datetime 日期时间型 text 文本型

  区别:char是固定长度的字符类型,分配多少空间,就占用多少空间;varchar是可变长度的字符类型,内容有多大,就占用多大的空间,能有效节省空间。所以,查找效率char型快一些,因为varchar是非定型长度,查找的时候是先查找长度,然后再进行数据提取,比char的类型多了一个步骤,所以效率要低一些。

8.数据库中的存储引擎主要有哪些?其中,MyISAM和InnoDB的基本区别?索引结构语句如何书写?

  mysql的存储引擎包括:MyISAM、InnoDB、BDB、MEMORY、MERGE、EXAMPLE、NDBCluster、ARCHIVE、CSV、BLACKHOLE、FEDERATED等,其中InnoDB和BDB提供事务安全表,其他存储引擎都是非事务安全表。

  

  创建数据表的时候默认是MyISAM,其中MyISAM不支持事务处理等高级功能,而InnoDB支持,MyISAM类型的表强调的是性能,其执行速度更快一些,InnoDB提供事务支持以及外部键等高级数据库功能。
  创建索引:
    alter table tablename add index('字段名');
 9.isset()和empty的区别?
  isset()检测变量是否设置,并且不是null,empty()是用来判断变量是否为空。
10.PHP字符串中单引号和双引号的区别?
  单引号不能解释变量,而双引号可以解释变量。
  单引号不能转义字符,在双引号中可以转义字符。

PHP基础面试题(1-10)的更多相关文章

  1. 经典的Java基础面试题集锦

    经典的Java基础面试题集锦,欢迎收藏和分享. 问题:如果main方法被声明为private会怎样? 答案:能正常编译,但运行的时候会提示”main方法不是public的”. 问题:Java里的传引用 ...

  2. [Unity3D]上海某大型游戏公司的基础面试题

    一个小老乡跟我聊到去上海某大公司的基础面试题,面试结果不尽如人意,但还是分享了下面试的试题,刚刚第一次录制视频,给某人讲课,我感觉讲的还算比较耐心,但发现一些新手入门学习的弊端,可能是很普遍的现象,这 ...

  3. Android开发面试经——3.常见Java基础笔试题

      Android开发(29)  版权声明:本文为寻梦-finddreams原创文章,请关注:http://blog.csdn.net/finddreams 关注finddreams博客:http:/ ...

  4. Android开发面试经——2.常见Android基础笔试题

     标签: androidAndroid基础Android面试题Android笔试题 2015-03-12 15:04 3361人阅读 评论(3) 收藏 举报  分类: Android开发(29)  版 ...

  5. 非常全面的java基础笔试题

    下面是java基础笔试题,当时我去笔试,做了1个小时(80道选择题,后面的简答题就没时间做了),结果很吓人,太挫了,最后被面试官忽悠去培训去了,呵呵.我偷偷把面试题弄了下来,用来学习吧,也希望能对你们 ...

  6. 前端基础面试题(JS部分)

    1.几种基本数据类型?复杂数据类型?值类型和引用数据类型?堆栈数据结构? 基本数据类型:Undefined.Null.Boolean.Number.String 值类型:数值.布尔值.null.und ...

  7. 100道Java基础面试题收集整理(附答案)

    不积跬步无以至千里,这里会不断收集和更新Java基础相关的面试题,目前已收集100题. 1.什么是B/S架构?什么是C/S架构 B/S(Browser/Server),浏览器/服务器程序 C/S(Cl ...

  8. 大数据学习--day04(选择结构、循环结构、大数据java基础面试题)

    选择结构.循环结构.大数据java基础面试题 switch: 注意: byte short int char String(jdk1.7支持) 不能是 long float double boolea ...

  9. 网络工程师岗位基础面试题【适用于CCNA/CCNP基础】

    网络工程师岗位基础面试题[适用于CCNA/CCNP基础] 1: 交换机是如何转发数据包的?交换机通过学习数据帧中的源MAC地址生成交换机的MAC地址表,交换机查看数据帧的目标MAC地址,根据MAC地址 ...

  10. iOS一些基础面试题

    Part One 别人问你你都感觉这尼玛说啥的基础面试题 1.UIWindow和UIView和 CALayer 的联系和区别? 答:UIView是视图的基类,UIViewController是视图控制 ...

随机推荐

  1. [Typescript] Improve Readability with TypeScript Numeric Separators when working with Large Numbers

    When looking at large numbers in code (such as 1800000) it’s oftentimes difficult for the human eye ...

  2. pickle和cPickle:Python对象的序列化(上)

    https://segmentfault.com/a/1190000002493548 pickle模块实现了一种算法,将任意一个Python对象转化成一系列字节(byets).此过程也调用了seri ...

  3. Java Volatile keyword

    Volatile修饰的成员变量在每次被线程訪问时,都强迫从主内存中重读该成员变量的值.并且,当成员变量发生变化时,强迫线程将变化值回写到主内存.这样在不论什么时刻,两个不同的线程总是看到某个成员变量的 ...

  4. Python——实现代理服务功能

    代理服务原理很简单,就拿浏览器与web服务器来说.无非是A浏览器发request给B代理,B代理再把request把送给C web服务,然后C的reponse->B->A.要写web代理服 ...

  5. 在LoadRunner脚本中实现随机ThinkTime

    一般情况下,我们都是通过Run-Time Settings来设置Think Time(思考时间),可以设置回放脚本时忽略思考时间,或者是设置回放随机的一段思考时间. By default, when ...

  6. php RSA 加密 与java加密互交,java解密

    <? php class encrypt{ var $pub_key; function redPukey() { $pubKey = "MIIDhzCCAm+gAwIBAgIGASY ...

  7. UVA 11534 - Say Goodbye to Tic-Tac-Toe(博弈sg函数)

    UVA 11534 - Say Goodbye to Tic-Tac-Toe 题目链接 题意:给定一个序列,轮流放XO,要求不能有连续的XX或OO.最后一个放的人赢.问谁赢 思路:sg函数.每一段.. ...

  8. JsonConvert.SerializeObject() 输出josn格式 也就是序列化。

    JsonConvert.SerializeObject() 输出josn格式  也就是序列化. JSON.parse 反序列化  http://www.cnblogs.com/ahlx/p/52280 ...

  9. (一)Activiti之——简介、插件安装及BPMN元素

    1. 工作流概念 工作流(Workflow):就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档.信息或任务的过程自动进行,从而实现 ...

  10. VS代码注释插件GhostDoc

    http://community.submain.com/blogs/tutorials/archive/2013/03/28/how-to-access-ghostdoc-pro-features. ...