PHP核心知识点梳理与总结

php知识框架总结

PHP知识框架总结

PHP语言基础简单布局

1.开始和结束标记格式只有在没有判断声明的情况下才能使用。

对表单传递的变量进行编码和解码:PHP中查询字符串的URL编码可以通过urlencode()函数实现该函数的使用格式如下:stringurlencode(stringstr);URL编码对查询字符串进行解码后,可以通过urldecode()函数实现。
使用该函数的格式为:stringurldecode(stringstr);

15.PHP连接数据库:

步骤:1.建立连接------mssql_connect(server,uid.,pwd);

2.指定数据库--------mssql_select_db(databasename);

3、执行sql------mssql_query($sql,$link);

四.处理备注Recordset-------资源类型数据,格式:bof---data---eof

5.读取特定格式的数据-----mssql_fetch_array() .

六。
释放绑定资源并关闭连接------mssql_free_resu。
lt($result);mssql_close();

16.数组:PHP数组由key值和value值组成

"值","键值"=>"值","键值"=>"值");如果没有给键值赋值,则默认int值从0开始

相关函数:(1)in_array("value",数组名);返回类型boolean-----查看数组中是否存在某个值

(2)array_key_exists("键值",数组名);返回类型boolean-----检查数组中是否存在某个键值

(3)array_keys(数组名);-----返回数组的键值组成一个新数组,这个键值作为新数组的值

(4)array_values​​​​​​​​(数组名);---将数组值返回,形成一个新数组,并以此值作为新数组的值

(5)key(数组名);----返回当前指针指向的元素的键值

(6)current(数组名);----返回当前指针指向的元素的值

<(7)next(数组名);----移动当前指向下一步的数组指针

(8)reset(数组名);----恢复数组指针,指向第0位elements

(9)end(数组名);----将指针移至最后一个元素

 (10)pre v(数组名);----向前移动位置指针

$value)

​{

​$key为键值,$价值为value值,实现数组遍历

<}

<(12)each(数组名);----按顺序移除当前数组元素(自动移动指针)并将它们放入一个新数组

:(13)array_shift(数组名);----返回数组第一个元素的值

 (14)array_pop(数组名);----返回数组最后一个元素值

【(15)array_push(数组名,value);----向数组添加元素

<(16)array_unshift(数组名,value);----向数组开头添加元素

(17)array_pad(数组名,数组长度,value);----向数组添加多个元素,对数组的副本进行操作,不修改原数组并返回新数组

【(18)count();----returnnumber

(19)array_unique(数组名);----去除数组中重复的部分,对数组进行复制,不修改数组原并返回新数组

(20)sort(数组名);---将数组按照从小到大的值升序排列,通常对于int类型的值,返回boolean类型,返回true成功

【(21)rsort(数组名);----将数组值从大到小倒序排列

【(22)array_combine(数组1,数组2);----以数组1的值作为键,以数组2的值作为值组成一个新数组

 (23)array_merge(数组1,数组2,数组3 );----合并多个数组,将多个数组值按顺序合并,组合成一个数组

 (24)array_slice(arrayname,int,int);----截取目标数组的元素,形成一个新数组。
起始位置是第二个参数,结束位置是第三个参数。
如果第三个参数不写,则默认拦截到结束。

(25)array_splice();----用法与array_slice()相同;但将截取的部分从原数组中去掉

(26)explode("字符基本",目标字符串);----将字符串按照一定的基础拆分成数组

(27)implode("Charbase",targetarray);----根据base创建数组元素组合成字符串

(28)range(mixedlow,Mixedhigh[numberstep]);----生成一个数组,例如:range(1,100,8);---从1到100,每8位取一个数组成数组

(29)shuffle(数组名);----用于对数组进行随机排序

(30)array_sum(数组名);----对数组元素的数值求和

(31)array_chunk(数组名,int);----目标split数组,返回一个新数组,其中数组的每个元素是一维数组,int参数是分割一维的长度维数组

17.Cookie和会话控制:

Cookie是服务器或脚本在HTTP协议下维护客户端工作站信息的一种方式。
Cookie是网络服务器保存在客户端计算机上的小文本文件,其中可能包含有关用户的信息。
每次用户连接到服务器时,网站都可以访问cookie信息。

服务器端存在的是session,客户端存在的是cookie。
它们用于存储全局变量。
设置cookie值:setcookie("name","value");

通过Cookie数组获取值:$_cookie["name"];

设置周期生成:setcookie("name","value",time()+1800);生成周期为当前时间加1800秒后。

删除cookie:setcookie("name","",time()-3600);将中间值设置为空并从当前时间减去3600秒。
Cookie数组:setcookie("name[key]","value");使用foreach来读取。

在PHP中,您可以通过预定义变量$_COOKIE访问Cookie值。
如果php.ini中定义了register_long_arrays,则可以使用$_COOKIE和$HTTP_COOKIE_VARS;如果php.ini中也定义了register_globals,那么每个cookie值都可以用作PHP中的全局变量。
然而,更改php.ini中这两个文件的设置很容易对PHP安全构成威胁。
不推荐这种方法。
建议使用更新后的$_COOKIE。

传递SessionID

传递SessionID有两种方式,一种是Cookie方式,另一种是URL方式。

传输方式cookies:

这是最简单的会话方法,但是有些客户端可能会限制cookie的使用,如果客户端希望在限制cookie的使用的情况下继续工作,那么就必须通过其他方式来实现。

URL传递方法:

在该方法中,URL本身用于传递session,session指示符只是简单地添加在URL末尾,或者作为变量在形式中。
示例:

到底什么是PHP序列化?

在PHP中,PHP使用序列化,以便值在存储或传输过程中不会丢失其类型和结构。
本文介绍了PHP序列化的四种解决方案。
如果您有兴趣,您可以了解更多

序列化是将变量转换为可以存储或传输的字符串的过程,而反序列化则是在适当的时候将其转换的过程。
然后将该字符串转换为本机变量以供使用。
这两个过程结合起来可以轻松地存储和传输数据,使程序更易于维护。

1.什么是PHP序列化-序列化函数

这两个函数常用于PHP中的数据序列化和反序列化。

'苹果','b'=>'香蕉','c'=>'椰子');

//序列Array$s=serialize($a);echo$s;//输出结果:a:3:{s:1:"a";s:5:"Apple";s:1:"b";s:6:“禁止ana";s:1:"c";s:7:"Coconut";}

echo''

;

//反序列化$o=unserialize($s);

print_r($o);

数组值是双引号;当场景值包含单引号或冒号等字符时,剥离场景值时出现问题;可能会发生。
为了克服这个问题,一个巧妙的技巧是使用base64_encode和base64_decode。

$obj=array();//序列化$s=base64_encode(serialize($obj));//反序列化$original=unserialize(base64_decode($s));

但是base64编码会增加字符串的长度。
您可以使用gzcompre ss来解决这个问题。

//用于序列化对象Definefunction

functionmy_serialize($obj){returnbase64_encode(gzcompre ss(serialize($obj)));}

//反序列化functionmy_unserialize($txt){returnunserialize(gzuncompre ss(base64_decode)($txt)));}

2.什么是PHP序列化——json_encode和json_decode

使用JSON格式序列化和反序列化是一个不错的选择:

使用json_encode和json_decode格式输出比序列化和解码格式更快。

JSON格式可读。

JSON格式返回的数据结果比数组更小。

JSON格式是开放且可移植的。
也可以使用其他语言。

'苹果','b'=>'香蕉','c'=>'椰子');

//序列Array$s=json_encode($a);echo$s;//输出结果:{"a":"Apple","b":"banana","c":"Coconut"}

echo'

;

//反序列化$o=json_decode($s);

在上面的例子中,json_encode输出长度明显短于上一个示例中的数组输出长度。
[页码]

3.什么是PHP序列化-var_export和eval

var_export函数将eval作为字符串变量执行,并执行PHP代码,反之亦然,从而实现序列化。
原始变量的。

'苹果','b'=>'香蕉','c'=>'椰子');

'苹果','b'=>'香蕉','c'=>'椰子',)

回显'

';

//反序列化eval('$my_var='.$s.';');

print_r($my_var);

4。
什么是PHP序列化-wddx_serialize_value和wddxdeserialize

wddx_serialize_value函数可以序列化数组变量并将其输出为XML字符串。

'苹果','b'=>'香蕉','c'=>'椰子');

//序列Array$s=wddx_serialize_value($a);echo$s;

//输出结果(输出字符串见源代码):ApplebananaCoconut

echo'

';

//反序列化$o=wddx_deserialize($s);

Apple[b]=>banana1=>Coconut)

<可以看到p>XML标签字符很多,所以是这种格式。
序列化仍然占用大量空间。

结论

以上所有操作在对数组变量进行排序时都可以正常工作,但在处理对象时则有所不同。
例如,json_encode序列化对象将会失败。
当物体被移除时,反序列化和验证会产生不同的效果。

这篇文章《什么是PHP序列化?这个知识点你应该了解它的用法》。
全球网校小编一直认为,一款程序软件受欢迎是有一些原因的。
首先吸引人们的就是它的功能性。
环球在线编辑;如果您想了解更多关于PHP的知识,请点击本站其他文章了解更多。

php基础知识点

PHP基础知识点

PHP是一种非常流行的开源服务器端脚本语言。
下面是一些PHP基础知识点,希望对大家有所帮助!

strrev()函数反转字符串。

strrev(string)

需要一个字符串。
指定要反转的字符串。

echo和print都可以打印,不同的是echo不是函数,没有返回值,而print是有返回值的函数,所以相对来说速度更快。
仅输出echo和print_r。
它通常用于打印有关变量的信息,并且常用于调试。

print是打印字符串。

print_r是打印复杂类型,比如数组对象。

$arr=array('a','b','c');

foreach($arras&$v){}

print_r($arr);

结果:

a[1]=>b[2]=>c)

foreach($arras$v){}

print_r($arr);

结果:

a[1]=>b[2]=>b)

请求方法有很多种(所有方法都是大写),每种方法的描述如下接下来。

GET请求获取由Request-URI标识的资源。

POST在该资源后添加一个新资源。
由Request-URI数据标识的资源

HEAD请求获取由Request-URI标识的资源的响应消息头。

PUT请求服务器存储资源并使用Request。
-URI作为标识符。

DELETE向服务器发出请求。
删除R,即由equest-URI标识的资源。

TRACE请求将收到的请求信息发送回服务器,主要用于测试或诊断。

OPTIONS请求是对服务器性能的查询,或者是与资源相关的查询。

HTTP响应由三部分组成:状态行、消息头和响应正文。

1.状态行格式为:如下。

HTTP-VersionStatus-CodeReason-PhraseCRLF

其中,HTTP-Version代表服务器HTTP协议的版本,Status-Code代表服务器发送的响应状态码,Reason-Phrase代表状态表示文字描述。

状态码由三位数字组成。
第一个数字定义响应类型并有五个可能的值。

1xx:显示信息-表明请求已收到。
处理

2xx:成功--表示请求已成功接收、理解并接受。

3xx:重定向--必须采取其他操作才能完成请求。

4xx:客户端错误--请求包含语法错误或请求无法实现。

5xx:服务器端错误--服务器没有实现合法的请求。
失败。

常用状态码、状态描述及说明:

:200OK//客户端请求成功。

:400BadRequest//客户端请求包含语法错误。
服务器无法理解

401UnaApproved//请求未获批准。
该状态码必须与WWW-Authenticate头域配合使用。

​403Forbidden//服务器收到请求但拒绝为其提供服务。

​404NotFound//请求的资源不存在。
示例:输入了无效的URL。

500InternalServerError//服务器遇到意外错误。

503ServerUnavailable//服务器当前无法处理客户端的请求,将等待过一段时间就可以恢复正常

<示例:HTTP/1.1200OK(CRLF)

2.响应头稍后解释

3.响应体是服务器返回的资源


相关推荐

云计算开发工程师证书详解报考条件、流程及价值

云计算开发工程师证书详解报考条件、流程及价值

云计算哪个证书云计算认证中,最权威、最被广泛认可的就是“云计算工程师证书”。云工程师证书是云计算领域的专业资格证书,用于考核个人在云计算技术、服务和解决方案方面

内存条8G 16G能否搭配成双通道?详细解析

内存条8G 16G能否搭配成双通道?详细解析

8g内存能和16G内存条一起用吗?g内存可以和16G一起使用,但是8G加16G也可以组成非对称双内存,虽然整体使用效率会比双内存低,但是这样的内存组合已经足够了。是的,如果将16GB内存和

云计算技术应用是干什么的

云计算技术应用是干什么的

云计算技术与应用是干什么的云计算技术及应用的功能有:1、云计算提供了最可靠、最安全的数据存储中心用户不再需要担心数据丢失、病毒入侵等问题。2、云计算对客户端设备要求