字符串处理函数
1、字符串截取:
string substr ( string $string , int $start [, int $length ] )
string mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding =mb_internal_encoding() ]] )
2、字符串长度:
int strlen ( string $string )
mixed mb_strlen ( string $str [, string $encoding = mb_internal_encoding() ] )
3、大小写转换:
string strtolower ( string $string )
string strtoupper ( string $string )
4、去除首尾空白字符:
string trim ( string $str [, string $character_mask = " \t\n\r\0\x0B" ] )
string ltrim ( string $str [, string $character_mask ] )
string rtrim ( string $str [, string $character_mask ] )
5、查找字符串中某些字符首次出现位置:
mixed strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )
int mb_strpos ( string $haystack , string $needle [, int $offset = 0 [, string $encoding=mb_internal_encoding() ]] )
6、字符串替换:
mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )
7、重复字符串:
string str_repeat ( string $input , int $multiplier )
8、字符串分割:
array explode( string $input, string $char )
cookie:cookie 常用于识别用户。cookie 是一种服务器留在用户计算机上的小文件。每当同一台计算机通过浏览器请求页面时,这台计算机将会发送 cookie。通过 PHP,能够创建并取回 cookie 的值。
a.setcookie() 函数用于设置 cookie。
b.setcookie() 函数必须位于 <html> 标签之前。
c.$_COOKIE 变量用于取回 cookie 的值。
session:变量用于存储关于用户会话(session)的信息,或者更改用户会话(session)的设置。Session 变量存储单一用户的信息,并且对于应用程序中的所有页面都是可用的。
a.session 的工作机制是:为每个访客创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,或者通过 URL 进行传导。
b.session_start() 函数必须位于 <html> 标签之前
c.存储和取回 session 变量的正确方法是使用 PHP $_SESSION 变量
d删除某些 session 数据,unset() 函数用于释放指定的 session 变量,session_destroy() 函数彻底销毁 session(session_destroy() 重置 session,失去所有已存储的 session 数据)
session和cookie的区别
1、session保存在服务器端,生存期为上次刷新起+session超时时间。设置session后立刻生效。
2、cookie保存在本地,可以设置有效期时长,本次设置,刷新后生效;所有cookie必须在header输出前设置才能有效,之后设置的cookie不会起作用。
3、seesion+cookie来完成用户验证思路。
a.用户登录后记录session,会话期有效,关闭浏览器后失效,需要重新登录。
b.记住用户登录状态,把用户的id和pwd保存在cookie中,存在本地,下次登录验证即可。本次刷新直接证seesion,不存在的情况下再验证cookie是够存在。
seesion+cookie用户登录验证流程:
a.获取uid(先session、后cookie)
b.查数据库,返回页面信息
1)如果是session获得的id,更新下session的id,通过id查数据库,返回用户信息。
2)如果是cookie获得的id,则从cookie中获取用户名、密码,验证数据库。成功返回id,过id查数据库,返回用户信息;错误返回空。
c.利用用户信息,页面判断输出
GET方法和POST方法的区别
1、get是从服务器上获取数据,
post是向服务器传送数据。
2、get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。
post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
3、对于get方式,服务器端用Request.QueryString获取变量的值,
对于post方式,服务器端用Request.Form获取提交的数据。
4、get传送的数据量较小,不能大于2KB。
post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
5、get安全性非常低,
post安全性较高。但是执行效率却比Post方法好。
6、GET方法和POST方法的使用
a.包含机密信息的话,用Post数据提交方式;
b.在做数据查询时,用Get方式;
c.做数据添加、修改或删除时,用Post方式;
时间处理
1、时间戳:time()
time.time()
从 Unix 纪元(格林威治时间 1970-01-01 00:00:00)到当前时间的秒数
2、格式化日期: date()
string date ( string $format [, int $timestamp ] )
描述:format,必需,规定时间戳的格式
timestamp,可选,规定时间戳,默认当前日期时间
3、format 可用的字符:
d - 代表月中的天 (01 - 31)
m - 代表月 (01 - 12)
Y - 代表年 (四位数)
4、可以通过 strtotime() 将有格式的时间字符串转换为时间戳
PHP异常处理: 异常用于在指定的错误发生时改变脚本的正常流程
1、当异常被触发时,通常会发生:
a.当前代码状态被保存
b.代码执行被切换到预定义(自定义)的异常处理器函数
c.根据情况,处理器也许会从保存的代码状态重新开始执行代码,终止脚本执行,或从代码中另外的位置继续执行脚本
2、异常的基本使用
a.当异常被抛出时,其后的代码不会继续执行,PHP 会尝试查找匹配的 "catch" 代码块。
b.如果异常没有被捕获,而且又没用使用 set_exception_handler() 作相应的处理的话,那么将发生一个严重的错误(致命错误),并且输出 "Uncaught Exception" (未捕获异常)的错误消息。
3、适当的处理异常代码应该包括:
a.Try - 使用异常的函数应该位于 "try" 代码块内。如果没有触发异常,则代码将照常继续执行。但是如果异常被触发,会抛出一个异常。
b.Throw - 里规定如何触发异常。每一个 "throw" 必须对应至少一个 "catch"。
c.Catch - "catch" 代码块会捕获异常,并创建一个包含异常信息的对象。
4、异常规则:
a.需要进行异常处理的代码应该放入 try 代码块内,以便捕获潜在的异常。
b.每个 try 或 throw 代码块必须至少拥有一个对应的 catch 代码块。
c.使用多个 catch 代码块可以捕获不同种类的异常。
d.可以在 try 代码块内的 catch 代码块中抛出(再次抛出)异常。
总结:如果抛出了异常,就必须捕获它。