session_unset()
You should know that on recent PHP only the first one of these functions works correctly. And if you use the other two, var_dump will print you the result you expected (session cleaned up), but the session file on the server won't be cleaned up. So use the first one.
代码如下 | 复制代码 |
<?php function session_clean1($logout=false) foreach($v as $x) function session_clean2($logout=false) function session_clean3($logout=false) ?> |
On previous php (<<5.1.4) releases at least the third one worked correctly.
释放当前在内存中已经创建的所有$_SESSION变量,但不删除session文件以及不释放对应的session id
session_destroy()
删除当前用户对应的session文件以及释放session id,内存中的$_SESSION变量内容依然保留
因此,释放用户的session所有资源,需要顺序执行如下代码:
PHP代码
代码如下 | 复制代码 |
<?php // Unset all of the session variables. // If it's desired to kill the session, also delete the session cookie. // Finally, destroy the session. |
substr_count(string,substring,start,length)
参数 描述
string 必需。规定要检查的字符串。
substring 必需。规定要检索的字符串。
start 可选。规定在字符串中何处开始搜索。
length 可选。规定搜索的长度。
代码如下 | 复制代码 |
<?php $str="ni hao ,wo jiao wang hui ,lai zi an hui chao hu"; echo "原字符串:".$str."<br />"; $str1=substr_count($str,'i');//substr_count():统计字符串在函数中出现的次数 echo "使用substr_count()之后:".$str1."<br />"; $str2=substr_count($str,'i',6);//substr_count($str,'i',6):从第6个字符串开始统计,后面还跟数字的话,就是统计多少个,如果不加的话,默认是到最后 echo "使用substr_count()之后:".$str2."<br />"; ?> |
二维数组访问
例1:
代码如下 | 复制代码 |
//建立数组 $arr=array("key"=>array("key2"=>"value")); //访问二维数组“key2”元素 echo $arr["key"]["key2"]; 例2: //建立数组 $arr=array(array("key2"=>"value")); //访问二维数组“key2”元素 echo $arr[0]["key2"]; |
更多维数组以此类推
$arr["键值"]["键值"]["键值"]["键值"]["键值"]。。。。
实例:
代码如下 | 复制代码 |
$myphonebook = array ( array("abcd","1234"), array("efgh","5678"), array("ijkl","9012") ); echo $myphonebook[0][0]; // abcd echo $myphonebook[0][1]; // 1234 |
利用循环读取二维数组
代码如下 | 复制代码 |
while($row=$db->fetch_array($query)){ $arr[] = array($row[id],$row[f_id],$row[name]); //$arr[] = array('id'=>$row[id],'f_id'=>$row[f_id],'name'=>$row[name]); } |
二维数组读取还有一个方法就是利用foreach()来操作,这里我就不说了,我以前有写过相关的文章有需要的可以搜索一下。
一个初学者写的一款php分页哦,共 20 条 上一页 下一页这种效果,有需要分页的朋友可以参考一下,代码如下 | 复制代码 |
<?php
if($b>$pagesize){ } } ?> |
1, 通过传递_GET参数的方法简单实现网页请求的判断。
url上这么传递:*******.php?ajax
php这么判断:
if(isset($_GET['ajax'])) {
...这是一个ajax请求,然后...
}
else {
...这不是一个ajax请求,然后...
}
这种实现方法很差劲,相当容易容易容易伪造。判断和不判断么有任何区别。
所以又出来一种自认为很科学的处理方式,这种方式确实有一定的学习价值。
Php获取系统变量中的xmlHttpRequest判读。
首先你必须使用jquery,Js发送ajax请求,通过jquery发送的$.ajax, $.get, or $.post方法请求网页内容时,它会向服务器传递一个HTTP_X_REQUESTED_WITH的参数,这个参数的值是xmlHttpRequest。
Js 代码:
代码如下 | 复制代码 |
beforeSend : function (XMLHttpRequest) { XMLHttpRequest.setRequestHeader("X-Requested-With","XMLHttpRequest"); }; |
参数名X-Requested-With,参数值XMLHttpRequest,你可以任意定义。Php取得时候要在参数名前面加上大写的http字样
代码如下 | 复制代码 |
if(!emptyempty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') 1, 如果 |
你的jquery请求是通过iframe打开网页的,那么HTTP_X_REQUESTED_WITH参数不会被传递,也就是说你没有办法判断请求的类型。
2, IE5,IE6老版本的浏览器总中$.ajax, $.get, or $.post方法不会自动发送HTTP_X_REQUESTED_WITH的参数到头部信息,因为php中也是无法获取参数进行判断。除非你自己构造XMLHttpRequest对象出来,然后再发送给php脚本,相当于用最原始的js实现ajax功能。这样做,jquery框架本来封装好的ajax就失去意义啦