首页 > php代码

PHP二维数组排序问题详解(数组键值排序)

根据某个键值对二维数组进行排序是个常见问题,这里总结一个函数,可同时对两个键值分别排序,当然想要更多的话就自行解决吧。


但是如果需要排序的数组是一个二维数组,需要按照数组的键值排序,如下面这个二维数组,需要按照sort键名来排序,那么array_multisort() 就无法直接实现了:

阅读全文

PHP求天数常犯的错误详解

按N天分隔时间, 求出每一个时间段的开始和结束. 例如按7天分隔里头, 求当前时间所处的区间的开始和结束. 要注意时区!

注意, 不要简单地对时间戳取模, 而是要对时间戳与开始时间(1970-01-01)的距离进行取模.

阅读全文

shell 脚本检查某目录下php文件语法


check_php_syntax.sh

#!/bin/bash
# check php syntax
if [ $# -lt 1 ];then
    echo 'Usage: ' $0  'directory';
    exit
fi
if [ ! -d $1 ];then
    echo $1  'not a directory,please check!';
    exit
fi
directory=$1
temp_file="/tmp/file$$"
#echo $temp_file
ls -R $directory | awk  '
    BEGIN{
        FS="n"   
        folder="'$directory'"
        logname="'$temp_file'"
    }
    {
        if($0~/.php$/){
            system("php -l " folder "/" $0  "   >>  " logname  " 2>&1") 
        }
        if($0~/:$/){
            folder=substr($1,1,length($1)-1)
        }
    }
'
if [ -e $temp_file ];then
    cat $temp_file | awk '
        BEGIN{
            error = 0
       }
        {
            if($0~/Parse/) {
                error++
                errorfile[$0] = $0
            }  
        }
        END{
            print "错误文件:" error "个"
            if(length(errorfile)>0) print "错误行数:"
                for (i in errorfile)
                    print i
        }
    '
else
    echo "php file not found."
    exit;
fi

阅读全文

PHP判断ajax请求类型(HTTP_X_REQUESTED_WITH)


php中就是在header一层判断是否是ajax请求,对应的根据$_SERVER['HTTP_X_REQUESTED_WITH']判断。

/**
  * 当前请求是否ajax请求
  *
  * @access public
  * @return bool
  */
 function isAjax()
 {
     return isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'XMLHttpRequest';
 }

阅读全文