本文实例讲述了PHP实现针对日期,月数,天数,周数,小时,分,秒等的加减运算方法。分享给大家供大家参考,具体如下:
其实就是strtotime这个内置函数
//PHP 日期 加减 周
date("Y-m-d",strtotime("2013-11-12 +1 week"))
//PHP 日期 加减 天数
date("Y-m-d",strtotime("2013-11-12 12:12:12 +1 day"))
//PHP 日期加减小时
date("Y-m-d h:i:s",strtotime("2013-11-12 12:12:12 +1 hour"))
//PHP 日期 加减 月数
date("Y-m-d",strtotime("2013-11-12 12:12:12 +1 month"))
//PHP 日期 加减 分
date("Y-m-d h:i:s",strtotime("2013-11-12 12:12:12 +1 minute"))
//PHP 日期 加减 秒
date("Y-m-d h:i:s",strtotime("2013-11-12 12:12:12 +1 second"))
PHP的应用是很受欢迎的,很多人都喜欢应用PHP,今天文章就给大家介绍下示例:php简单随机字符串生成,感兴趣的下面一起来看看。本文实例讲述了php简单随机字符串生成方法。分享给大家供大家参考,具体如下:
<?php
functionrand_str($length,$p='all'){
$nums=�'
$lowers='abcdefghijklmnopqrstuvwxyz'
$uppers='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
if($p=='all') {
$src=$nums.$lowers.$uppers;
}else{
$src=''
if(strpos($p,'num') !== false)
$src.=$nums;
if(strpos($p,'lower') !== false)
$src.=$lowers;
if(strpos($p,'upper') !== false)
$src.=$uppers;
}
return$src?substr(str_shuffle($src), 0,$length) :$src;
}
?>
去网上搜了一下随机字符串的php函数, 发现大部分的实现都用到了循环--这有点低效率啊. 在php中, 有各种各样的函数, 只有你想不到, 没有他想不到. str_shuffle()函数可以轻松做到随机字符串. 不过呢, 还是封装一个吧, 毕竟有的人有只用大写字母和只用数字的需求.
函数的第二个参数num, lower, upper可以随意组合哦.
真正核心的语句只有一行
substr(str_shuffle($src), 0,$length)
作用是将字符串$src乱序并且截取前$length个字符.
代码如下 | 复制代码 |
本文实例讲述了PHP实现在数据库百万条数据中随机获取20条记录的方法。分享给大家供大家参考,具体如下:
额,为什么要写这个?
在去某个公司面试时,让写个算法出来,当时就蒙了,我开发过程中用到算法的吗?又不是大数据开发,分析。
今天偶然想起来一个坑爹数据,如:PHP取百万条数据中随机20条记录,当时就用的算法。
1.先统计统计数据库多少条记录(这个做个数据缓存,如1小时重新统计一次),
2.根据总条数,随机1次,1次性取出20条记录(当然这个就相当于分页了,要求不高的话,这个最快,我用的就是这个);
还有一种方法,随机20次,重复执行20次。
例如:
$sum=800000;//得到总条数
//循环取数据
for($i=1;$i<=20;$i++){
$offset=mt_rand(1,$sum);
//控制重复对比的,请自行实现
//数据库取数据的,请自行实现
$sql="select * from table limit $offset,1";
echo$sql;
}
代码如下 | 复制代码 |
本文实例讲述了PHP实现根据数组的值进行分组的方法。分享给大家供大家参考,具体如下:
PHP根据数组的值分组,php array中没有自带这个函数但是很常用,今天写了出来记录一下。
代码:
$_array=array(
array(1,11,-05-18'),
array(2,11,-05-18'),
array(3,22,-05-18'),
array(4,22,-05-18'),
array(5,33,-05-19'),
array(6,33,-05-19'),
array(7,44,-05-19'),
array(8,44,-05-19'),
array(9,55,-05-20'),
array(10,55,-05-20'),
);
var_dump(array_val_chunk($_array));
functionarray_val_chunk($array){
$result=array();
foreach($arrayas$key=>$value) {
$result[$value[1].$value[2]][] =$value;
}
$ret=array();
//这里把简直转成了数字的,方便同意处理
foreach($resultas$key=>$value) {
array_push($ret,$value);
}
return$ret;
}
运行结果如下:
array(5) {
[0]=>
array(2) {
[0]=>
array(3) {
[0]=>
int(1)
[1]=>
int(11)
[2]=>
string(10)"2016-05-18"
}
[1]=>
array(3) {
[0]=>
int(2)
[1]=>
int(11)
[2]=>
string(10)"2016-05-18"
}
}
[1]=>
array(2) {
[0]=>
array(3) {
[0]=>
int(3)
[1]=>
int(22)
[2]=>
string(10)"2016-05-18"
}
[1]=>
array(3) {
[0]=>
int(4)
[1]=>
int(22)
[2]=>
string(10)"2016-05-18"
}
}
[2]=>
array(2) {
[0]=>
array(3) {
[0]=>
int(5)
[1]=>
int(33)
[2]=>
string(10)"2016-05-19"
}
[1]=>
array(3) {
[0]=>
int(6)
[1]=>
int(33)
[2]=>
string(10)"2016-05-19"
}
}
[3]=>
array(2) {
[0]=>
array(3) {
[0]=>
int(7)
[1]=>
int(44)
[2]=>
string(10)"2016-05-19"
}
[1]=>
array(3) {
[0]=>
int(8)
[1]=>
int(44)
[2]=>
string(10)"2016-05-19"
}
}
[4]=>
array(2) {
[0]=>
array(3) {
[0]=>
int(9)
[1]=>
int(55)
[2]=>
string(10)"2016-05-20"
}
[1]=>
array(3) {
[0]=>
int(10)
[1]=>
int(55)
[2]=>
string(10)"2016-05-20"
}
}
}