PHP判断字符是否为字母
一直都是用正则表达式来判断,个人不喜欢这种方式,想到ASCII码可以来区别。
ord() 函数返回字符串的首个字符的 ASCII 值。
大小写字母的ASCII码在
65-90,97-122
之间。
$str="http://my.oschina.net/rain21/admin/new-blog";
$arr=str_split($str);
/*65-90,97-122*/
foreach($arr as $k=>$v){
$check=ord($v);
if(($check>=65&&$check<=90)||($check>=97&&$check<=122)){
$newArr[]=empty(rand(0,1))?strtoupper($v):$v;
}else{
$newArr[]=$v;
}
}
echo implode('',$newArr);
数字检测
is_numeric:检测是否为数字字符串,可为负数和小数
ctype_digit:检测字符串中的字符是否都是数字,负数和小数会检测不通过
注意,参数一定要是字符串,如果不是字符串,则会返回0/FASLE
password_hash密码加密
$startTime = microtime(true);
$options = array('cost' => 12);
$password=password_hash("wsy1995", PASSWORD_BCRYPT,$options);
var_dump(password_verify('wsy1995',$password));
echo $password;
$endTime = microtime(true);
echo '共耗时:'.($endTime-$startTime);
echo '运行后内存:'.memory_get_usage()/1024/1024;
JSON
function json($code, $message = '', $data = array()) {
if(!is_numeric($code)) {
return '';
}
$result = array(
'code' => $code,
'message' => $message,
'data' => $data
);
echo json_encode($result);
exit;
}