php常用资源

2014年08月04日

tail命令

php调试的时候写日志文件,用到tail -f fileName命令(tail -f 命令可用于监视另一个进程正在写入的文件的增长)

php中文字符串的截取

mb_strlen( $str, $encoding ) 
// 获取中文长度
// $str,要计算长度的字符串 
// $encoding,网页编码,如utf-8,GB2312,GBK 

mb_substr( $str, $start, $length, $encoding ) 
// 截取中文字符串
// $str,需要截断的字符串 
// $start,截断开始处,起始处为0 
// $length,要截取的字数 
// $encoding,网页编码,如utf-8,GB2312,GBK 

php数组反向排序

array_reverse() //函数传入参数为一数组,返回一个与传入参数值相同但顺序相反的数组

array_key_exists

array_key_exists(key,array)
//array_key_exists()函数判断某个数组中是否存在指定的key,如果该key存在,则返回true,否则返回false。

property_exists

property_exists(mixed $class, string $property) 
//判断某个类是否有某个属性

php 二维数组排序

/**
 * 二维数组按指定键值排序
 *
 * @param array $array 数组
 * @param string $keys 键名
 * @param string $type 排序方式
 * @return array|string
 */
public function array_sort($array, $keys, $type='asc') {
    if(!isset($array) || !is_array($array) || empty($array)){
        return '';
    }
    if(!isset($keys) || trim($keys)==''){
        return '';
    }
    if(!isset($type) || $type=='' || !in_array(strtolower($type),array('asc', 'desc'))){
        return '';
    }
    $keysValue=array();
    foreach($array as $key=>$val){
        $val[$keys] = str_replace('-','',$val[$keys]);
        $val[$keys] = str_replace(' ','',$val[$keys]);
        $val[$keys] = str_replace(':','',$val[$keys]);
        $keysValue[] = $val[$keys];
    }
    asort($keysValue); //key值排序
    reset($keysValue); //指针重新指向数组第一个
    foreach($keysValue as $key => $vals) {
        $keysort[] = $key;
    }
    $keysValue = array();
    $count = count($keysort);
    if(strtolower($type) !== 'asc'){
        for($i = $count-1; $i >= 0; $i--) {
            $keysvalue[] = $array[$keysort[$i]];
        }
    }else{
        for($i = 0; $i < $count; $i++){
            $keysValue[] = $array[$keysort[$i]];
        }
    }
    return $keysValue;
}

xss攻击防御

只要是产生XSS的地方都是伴随着输入或者输出的,过滤 ‘ “ , < > \ <!–等

empty()与isset()的区别

empty()和isset()的处理对象无外乎未定义变量,0,空字符串
如果变量为0,则empty()会返回TRUE,isset()会返回TRUE;
如果变量为空字符串,则empty()会返回TRUE,isset()会返回TRUE;
如果变量未定义,则empty()会返回TRUE,isset()会返回FLASE;

当要 判断一个变量是否已经声明的时候 可以使用 isset 函数
当要 判断一个变量是否已经赋予数据且不为空 可以用 empty 函数
当要 判断 一个变量 存在且不为空 先isset 函数 再用 empty 函数