代码如下 | 复制代码 |
function arr_foreach ($arr) { if (!is_array ($arr)) { return false; } foreach ($arr as $key => $val ) { if (is_array ($val)) { arr_foreach ($val); } else { echo $val.'<br/>'; } } } $arr1 = array (1=>array(11,12,13,14=>array(141,142)),2,3,4,5); arr_foreach ($arr1); |
//php遍历多维数组
代码如下 | 复制代码 |
$array = array('a'=>"\'as","b"=>array('c'=>"\'cc","n"=>array('1'=>"\'sdf")),'f'=>array('c'=>"'sdf","g"=>array("c"))); function handleeach(&$array,$functionname) { foreach($array as $k=>$v) { if(is_array($v)) { handleeach(&$array[$k],$functionname); } else $array[$k] = $functionname($v); } } handleeach($array,'stripslashes'); print_r($array); |
//实例三,遍历二维数组
代码如下 | 复制代码 |
$employee[]=array("jas,join","www.111cn.net",20); $newname = array(); foreach ($employee as $record){ $newname[] = isset($record[0]) ? $record[0] : 'no name'; } |
?>
php filesystem 函数
rename() 函数重命名文件或目录。
若成功,则该函数返回 true。若失败,则返回 false。
rename(oldname,newname,context)
参数
描述
oldname
必需。规定要重命名的文件或目录。
newname
必需。规定文件或目录的新名称。
context
必需。规定文件句柄的环境。context 是可修改流的行为的一套选项。
注释:在 php 4.3.3 之前,rename() 不能在基于 *nix 的系统中跨磁盘分区重命名文件。
注释:用于 oldname 中的封装协议必须和用于 newname 中的相匹配。
注释:对 context 的支持是 php 5.0.0 添加的。
<?php
rename("images","pictures");
?>
oldpath ----文件或目录原来路径
$newpath ----新定义路径
那么 rename($oldpath,$newpath)就可以完成文件/目录移动的操作
经过我的测试,win32和unix的php4版本都支持这个功能。
另外,好象php4的win32版取消了unlink()函数。那么还可以巧用rename()函数来完成删除的操作,例如:
$path ---- 文件或目录路径
$tmp ---- tmp目录(/tmp)
用rename($path,$tmp) 将文件移动到tmp目录.
代码如下 | 复制代码 |
$a=array("red", "green", "blue", "yellow"); //array array_splice (array input, int offset [, int length [, array replacement]]) |
//下面看一个比较全面的删除重复值并且删除指定的数组元素
代码如下 | 复制代码 |
$array1 = array(1 => "www.111cn.net", 2 => "菠萝", 4 => "www.111cn.net",3 => "香蕉",4 => "芭乐",5 => "www.111cn.net",6 => "www.111cn.net"); $search_keys = array_keys($array1, "www.111cn.net"); foreach($search_keys as $key) { |
print_r($array1);
/*
得到结果
array ( [2] => 菠萝 [4] => 芭乐 [3] => 香蕉 )
*/
代码如下 | 复制代码 |
//删除数组中重复元素的函数 function delmember(&$array, $id) { $size = count($array); for($i = 0; $i <$size - $id - 1; $i ++) { $array[$id + $i] = $array[$id + $i + 1]; } unset($array[$size - 1]); } |
?>
//最直接过滤html方法
代码如下 | 复制代码 |
strip_tags(); //方法二利用正则过滤 |
//正则二
代码如下 | 复制代码 |
preg_replace('/(<br>){1,}/is','<br>', $str); |
//正则三
代码如下 | 复制代码 |
function delhtml($str){ //清除html标签 $str='<div class="newscon" id="idnewsdtail"><span id=contextid> |
<?php
//调用此页面,如果下面的式子成立,则生成验证码图片
if($_get['action']=='verifycode'){
rand_create();
}
//验证码图片生成
代码如下 | 复制代码 |
function rand_create(){ header('content-type: image/png'); //准备好随机数发生器种子 |
?>
静态页面上显示验证码代码为:
验证码:<input class="reg_main_code_input" type="text" name="reg_code" id="reg_code" />
<img id="reg_code_img"" width=100% src="code.php?action=verifycode" />
jquery部分的ajax验证代码为:
代码如下 | 复制代码 |
$.post("session.php", {reg_code:$("#reg_code").val()}, function(data){ if(data === "1"){ //do... }else{ do... } } ); |
而协助ajax验证的php页面名为session.php,其代码为:
<?php
代码如下 | 复制代码 |
session_start(); //检验验证码 if($_post['reg_code'] == $_session['login_check_num']){ echo 1; }else{ echo 0; exit(); } |
?>