php基础阶段内容
一、 php 基本概念,常规语法
1.什么是php?
Hypertext Preprocessor,超文本预处理器,它是个被广泛运用在网页程式撰写的语言,尤其是它能适用于网页程式的开发及能够嵌入HTML文件之中;
PHP的目的是为了能使网站开发者可以快速地撰写动态网页
(php是一种用来制作动态网页的服务器端脚本语言)
-
php的注释方式
多行注释:/* */
单行注释:// 、#
-
php现在的最新版本
最新版本5.6
-
wamp是什么?
Apache+Mysql+PHP
一组常用来搭建动态网站或者服务器的开源软件
-
php的数据类型
布尔型(bool)、整型(integer)、浮点型(float)、资源类型(resourse)、
字符串类型(string)、数组类型(array)、对象(object)、空值(null)
-
php中字符串的单引号和双引号的区别
使用双引号和单引号的主要区别是:单引号定义的字符串中出现的变量和转义序列不会被变量的值替代, php中单引号内的变量不能被解释 ,而双引号中使用的变量名在显示时会显示变量的值
-
php的随机数函数?不带参数和带参数有什么区别?
rand :产生一个随机整数,不带参数时默认范围(在0---32767之间);
带参数的话rand(最小值,最大值)
-
怎么定义常量?
define("常量名","常量值");值只能是标量,数据类型只能是boolean、integer、float或string;不需要加“$”
-
怎么输出内容到页面显示?
使用echo或者print函数;
10.echo、print_r、var_dump区别?
var_dump可以使用任何变量,包括字符串,数组,数字,对象,还指明变量的类型及长度。
print_r()中,如果给出的是string,integer,folat,将打印变量值本身。如果给出的是array,将会按一定格式显示键和元素。Object与数组类似。
二、php基础函数(数组、日期、字符串)
1.怎么定义一个数组?
$arr =array();
-
怎么给数组新增加1个值?
array_unshift();
-
foreach语法结构?
foreach仅用于数组和对象
-
删除数组中的指定元素 array_splice()
-
数组的排序 sort()和rsort() 按键值排序sort()从小到大,rsort()从大到小
-
array_unique() 去除数组中的相同元素
-
in_array()检测一个值是否在数组中(返回true和false)
-
array_search()返回的是键或值,返回的是键值所对应的键名
-
array_pop() - 删除数组中的最后一个元素
10.array_push() 数组尾部添加一个或多个元素(入栈),返回新长度。
11.array_search()- 按元素值返回键名
-
怎么获取当前的日期时间?
date_default_timezone_get ()
gettimeofday ()
-
怎么格式化显示当前的日期时间?
gmdate ()或者
$today = date ( "Y-m-d H:i:s" ); // 20161-06-08 17:16:18 (MySQL DATETIME 格式)
-
系统默认的是哪个地区的时间?
格林威治时间(GMT) (1901 年 12 月 13 日 20:45:54 到 2038 年 1 月 19 日 03:14:07)
15.怎么修改系统的默认时区?
date_default_timezone_set(" PRC");中国时区
-
获取字符串的长度?
strlen ()
-
将字符串全部转换为小写或大写?
字符串全部转换为小写 strtolower();
字符串全部转换为大写 strtoupper()。
18.查找字符在字符串中第一次或最后一次出现的位置?
字符在字符串中第一次出现的位置 strpos();
字符在字符串中最后一次出现的位置 strripos ()【不区分大小写】;
trrpos ()【区分大小写】 。
三、web开发(http协议)
1.http的中文名称?现在的最新版本是多少?访问时的默认端口号?
超文本传输协议; ;3306。
-
http协议的特点?
HTTP遵循请求/响应模式;HTTP协议是一种无状态的协议。
-
http的信息处理流程?
客户端发送HTTP请求,web服务器接收到请求后关闭连接,web服务器处理请求生成对应的html或者web应用程序后与客户端建立连接,生成HTTP响应回发;
-
请求信息分为几个部分
请求行,请求头,空行,消息体
-
请求方式共计有几种?我们常用的是哪2中请求方式?
共计有8种(GET,HEAD,POST,PUT,DELETE,TRACE,CONNECT,OPTIONS);get和post。
-
请求行中包含哪些信息内容?
请求方法、URI、HTTP版本,最后以回车换行结尾,各个元素之间用空格字符隔开。
-
响应信息分为几个部分?
状态行,响应头,空行,消息体
-
状态码分几类?分别代表啥意思?列举常见的状态码及其含义?
5类。
1XX 信息
2XX 成功 200:服务器成功返回网页
3XX 重定向 302:临时移动
4XX 请求错误 404:请求的网页不存在
5XX 服务端错误 502:错误网关 503:服务器超时
9.EGPCS指代的是什么?
指的是可以从服务器配置和请求的信息中获取的信息,它包括了environment、GET、POST、cookie、server
10.怎么获取访问用户的IP地址?
getenv(“HTTP_ X_FORWARDED_FOR”);
-
请求中的Get和Post区别?
get是从服务器上获取信息,post是向服务器传送数据,现在都是提交
-
怎么解决http无状态的问题?
创建 表单隐藏字; Cookie; Session; URL重写;
-
什么是cookie?
Cookie基本上就是一个包含多个字段的字符串。一台服务器可以在响应头部发送一个或多个cookie到浏览器。一些cookie的字段指明哪些浏览器页面可以在请求中发送
-
什么是session?
Session 是存储在服务器端的会话,相对安全
-
cookie和session的区别?
cookie数据存放在客户的浏览器上,session数据放在服务器上;
Cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗(考虑到安全应当使用session);
Session会在一定时间内保存在服务器上。当访问增多时,会比较占用你服务器的性能(考虑到减轻服务器性能方面,应当使用Cookie);
单个cookie保存的数据不能超过4k,很多浏览器都限制一个站点最多保存20个cookie;
综上所述
将登录信息等重要信息保存到session中,
其他信息需要保留,可放在cookie中。
-
怎么创建设置cookie信息?
使用cookie前必须设置cookie.
int setcookie(string name, string value, int expire,string path, string domain, int secure)
-
怎么使用session?
<?php
// 启动Session
session_start();
// 声明一个名为 admin 的变量,并赋空值。
$_SESSION["admin"] = null;
$_SESSION[“count"] = $_SESSION[“count"]+1;
echo “这里已经有 $_SESSION[“count"] 人浏览过了”;
?>
-
session的常见函数有哪些?各有什么用处?
ession_start(); //初始化session.需在文件头部
$_SESSION[name]=value; //配置Seeeion
echo $_SESSION[name]; //使用session
isset($_SESSION[name]); // 判断
unset($_SESSION[name]); //删除
session_destroy(); //删除所有session,但是写入cookie的信息无法自动去掉
四、ajax
1.ajax的中文名称?
异步JavaScript和XML
-
ajax中包含哪些技术?
7项技术,其中Javascript、XMLHttpRequest、Dom、XML是最为重要
-
ajax对象有哪些常用函数,及其功能?
Abort():停止当前请求;
getAllResponseHeaders():作为字符串返回完整的headers;
getResponseheader(“hederLabel”):作为字符串返回单个的header标签;
Open(“method”,“URL”[,asyncFlag[,”userName”[,”password”]]]):设置未决的请求的目标URL方法和其他参数;
Send(content):发送请求;
setRequestHeader(“label”,”value”):设置header并和请求一起发送;
-
ajax对象的常用属性有哪些?
Onreadystatechange:状态改变的事件触发器
readyState:对象状态(integer):0=未初始化,1=读取中,2=已读取,3=交互中,4=完成
responseText:服务器进程返回数据的文本
responseXML:服务器进程返回数据的兼容DOM的XML文档对象
Status:服务器返回的状态码,如404=“文件未找到”、200=“成功”
statusText:服务器返回的状态文本信息
6.jquery的ajax函数格式及其常用参数、写法?
$.ajax({
type: "POST", //请求方式
url: "jqajax1.php", //请求的地址
data: "username="+$("input[type='text']").val(), //请求的参数字符串
dataType: "json", //设置返回的数据类型,默认值为"text"
success: function(msg){//接收成功返回的数据结果
$("#div1").html( "接收的返回值: " + msg );
},
error: function(msg){
$("#div1").html( "有错误了: " + msg );
}
});
五、php+mysql(mysql函数)
1.php操作mysql数据库的步骤?
mysql_connect() 建立数据库连接
mysql_select_db() 选择操作的数据库
mysql_query() 执行SQL语句
mysql_fetch_array() 返回一行记录(数组)
mysql_num_rows() 返回结果集中行的数目
mysql_close() 关闭数据库
-
创建数据库连接的函数?参数有几个?每个参数代表什么含义?
mysql_connect() 建立数据库连接
参数共计5个:
第一个参数:服务器名称或者地址,同时可以加上端口号(如果是默认的3306,则可以省略);
第二个参数:登录的用户名;
第三个参数:登录密码;
第四个参数:是否使用可能重名的相同连接对象(如果该对象已经创建),默认为false;
第五个参数:常量组合,设置连接的模式,默认值为0;
(连接成功,返回结果为资源类型;如果失败,报错并且返回false)
-
怎么选择要操作的数据库名称?
mysql_select_db(“数据库名称”) 选择操作的数据库
-
执行sql语句的函数?该函数返回值是什么类型?
mysql_query() ;仅对select,show,describe或explain等语句如果成功就返回资源类型;
对于update,delete,drop,insert等语句,成功返回true,失败返回false。
-
怎么获取查询结果集的数量?
Mysql_result(),
mysql_fetch_row(),
mysql_fetch_array()
-
怎么提取结果集中的数据?提取出来的数据是什么样的格式?
mysql_fetch_array();
MYSQL_ASSOC():返回的数组将以该记录的字段名称作为下标
MYSQL_NUM():返回的数组以从0开始的数字为下标
MYSQL_BOTH:返回的数组既可以用字段名为下标,也可以用数字为下标
-
怎么关闭数据库连接?
mysql_close();
六、其他
1.empty()
empty()函数检查一个变量是否为空或零值,如果变量值是非空或非零值,则empty()返回FALSE,否则返回TRUE
-
isset()
isset()函数来检查变量是否存在
-
gettype()
gettype()获取变量的类型
-
settype()
一种强制转换类型的函数方法
语法格式:bool settype(mixed $var, string $type)
例如:$var="123hello"; //$var为字符串
settype($var, "int"); //$var现在为整型(值为123)
-
错误控制运算符 @
将其放置在PHP表达式之前,该表达式可能产生的任何错误信息都将被忽略
-
执行运算符 `
PHP支持一个执行运算符,即反引号(``)
在PHP脚本中,将外部程序的命令行放入反引号中,并使用echo()或print()函数将其显示,PHP将会在到达该行代码时启动这个外部程序,并将其输出信息返回,其作用效果与shell_exec()函数相同
反引号运算符在激活了安全模式或者关闭了 shell_exec() 时是无效的。
与其它某些语言不同,反引号不能在双引号字符串中使用。
-
字符串拼接 .
使用“.”
-
定界符 <<<+名称
“<<<”之后提供一个标志符,然后是字符串,最后用同样的标志符结束字符串。结束标志符必须从行的第一列开始,标志符必须遵循PHP中标记的命名规则:只能包含字母、数字、下划线,而且必须以下划线或非数字字符开始
-
unset()函数释放一个变量