PHP的一些 有用但不常用的函数记录

时间:2020-11-27 13:38:01

1. microtime()

  当前 Unix 时间戳以及微秒数。

 <?php

$mem = new Memcache;

$mem->connect("127.0.0.1", 11211);

$time_start = microtime_float();

//保存数据

for($i = 0; $i < 100000; $i ++){

    $mem->set("key$i",$i,0,3);

}

$time_end = microtime_float();

$run_time = $time_end - $time_start;

echo "用时 $run_time 秒\n";

function microtime_float()

{

    list($usec, $sec) = explode(" ", microtime());

    return ((float)$usec + (float)$sec);

}

?>

2. version_compare 比较版本号专用,可以不用考虑一些字符串的长度是否对应,其中第三个可选参数是比较符

判断 第一个 是否比 第二个 第三个参数

$a = version_compare('1.0.2', '1.0.1','>');
var_dump($a); // boolean true

3. stripslashes 去除字符中的 '\',主要用于对一些传过来的数据进行格式化

$str = stripslashes($_POST['data']);
if(!$str){
echo '{"result":"0"}';
return false;
}
$arr = json_decode($str, true);
//先去排除一些肯定不是游戏的 直接在原数组中移除 遍历后的就是可以使用的数组
foreach($arr as $k=>$v){
$reg = '/\.\w+\./';
preg_match($reg,$v['bundleId'],$matches);
$fenge = $matches[0];
if(str_exists($not,$fenge) && $fenge){
unset($arr[$k]);
}
}

4.字符串截取

$findme = strpos($v['url'], '&id=');
$id = substr($v['url'],$findme+4);

5.使用过的hash验证函数

function str2hash($str){
if(!$str){
return 0;
}
$hash = 4685;
for ($i=0; $i<strlen($str); $i++) {
$tmp = substr($str,$i,1);
$hash = ($hash * 25) ^ ord($tmp);
}
return $hash;
}