递归对数组转义

<?php
/****
燕十八 公益PHP讲堂

论  坛: http://www.zixue.it
微  博: http://weibo.com/Yshiba
YY频道: 88354001
****/


/***
====笔记部分====
递归对数组进行转义
***/


// 这是一个3维数组
$arr = array('a"b',array("c'd",array('e"f')));



// 先写一个1维数组的转义函数
function _addslashes($arr) {
    foreach($arr as $k=>$v) {
        if(is_string($v)) {
            $arr[$k] = addslashes($v);
        } else if(is_array($v)) {  // 再加判断,如果是数组,调用自身,再转
            $arr[$k] = _addslashes($v);
        }
    }
    
    return $arr;
}

print_r(_addslashes($arr)); // 递归转义后的数组

print_r($arr);      // 原来的值


// 这个递归 就没有用到引用传参

//  如果确定要改全局的$arr,可以把转义的返回值,再次赋给$arr

$arr = _addslashes($arr);

 

posted @ 2012-12-04 12:49  永不停歇  阅读(273)  评论(0编辑  收藏  举报