PHP杂记

 preg_replace -- 执行正则表达式的搜索和替换
array_push --  将一个或多个单元压入数组的末尾(入栈)
preg_match -- 进行正则表达式匹配
exif_imagetype($file) ---图像类型;

echo "<SCRIPT LANGUAGE='JavaScript'>alert('得到');history.back();</SCRIPT>";
exit;

date_default_timezone_set('PRC');  北京时间;

bool file_exists ( string filename)
如果由 filename 指定的文件或目录存在则返回 TRUE,否则返回 FALSE。

<?php

$text = "/t/tThese are a few words :) ...  ";

echo trim($text);           // "These are a few words :) ..."
echo trim($text, " /t."); // "These are a few words :)"

// trim the ASCII control characters at the beginning and end of $binary
// (from 0 to 31 inclusive)
$clean = trim($binary, "/x00../x1F");

?>
mysql 扩展
<?php if(extension_loaded('mysql')?>

bool is_writable ( string filename)
is_writable -- 判断给定的文件名是否可写


array_values() 返回 input 数组中所有的值并给其建立数字索引


$_GET数组中传递的是通过url传递的值,page是数组的下标
例如:
http://www.xx.cn/index.php?id=1&page=5
那么传递过来的$_GET数组中
$_GET['id']=1
$_GET['page']=5


global是全局函数
$_POST,$_GET,这两个函数是提交表单时候用到
只是$_GET提交的东西会显示在URL中,而且会有字节限制
$_POST提交的东西不会显示在URL中,比较安全

section 简介
section:
section的产生是为解决foreach的不足的,与foreach一样,它用于设计模板内的循环块,它较为复杂,可极大程序上满足程序需要,所以在程序中我习惯使用它而不使用foreach,基本原形为:

{section name = name loop = $varName[, start = $start, step = $step, max = $max, show = true]}

name: section的名称,不用加$
$loop: 要循环的变量,在程序中要使用assign对这个变量进行操作。
$start: 开始循环的下标,循环下标默认由0开始
$step: 每次循环时下标的增数
$max: 最大循环下标
$show: boolean类型,决定是否对这个块进行显示,默认为true

这里有个名词需要说明:
循环下标:实际它的英文名称为index,是索引的意思,这里我将它译成"下标",主要是为了好理解。它表示在显示这个循环块时当前的循环索引,默认从0开始,受$start的影响,如果将$start设为5,它也将从5开始计数,在模板设计部分我们使用过它,这是当前{section}的一个属性,调用方式为Smarty.section.sectionName.index,这里的sectionName指的是函数原型中的name属性。
{section}块具有的属性值,分别为:
1. index: 上边我们介绍的"循环下标",默认为0
2. index_prev: 当前下标的前一个值,默认为-1
3. index_next: 当前下标的下一个值,默认为1
4. first: 是否为第一下循环
5. last: 是否为最后一个循环
6. iteration: 循环次数
7. rownum: 当前的行号,iteration的另一个别名
8. loop: 最后一个循环号,可用在section块后统计section的循环次数
9. total: 循环次数,可用在section块后统计循环次数
10. show: 在函数的声明中有它,用于判断section是否显示

在smarty程序中将使用
$smarty->assign("name", "李晓军");将模板中的$name替换成“李晓军”三个字。

在PHP中有一个非常厉害的函数,strtotime()函数,这个函数有一个异常厉害的使用方法,手册上说的有,但是估计在实际应用中能够想到的人不多。

我为了计算出当前时间N天后的日期时,也是自己写了一个很复杂的函数之后才无意间发现这个函数的,现在记录下来以免以后又忘记了

当前时间一周之后的时间戳:strtotime(”+1 week”),这样就行了,一周之后是这样我想N周之后大家应该也就知道了吧,嘿嘿……

然后举一反三,一个月之后呢?应该是strtotime(”+1 months”);

5天之后的时间呢当然是:strtotime(”+5 days”);

12个小时之后呢?strtotime(”+12 hours”);

20分钟之后当然是:strtotime(”+20 minutes”);

30秒之后就是strtotime(”+30 seconds”);

上周六的时间呢?应该是 strtotime(”Last  Saturday“);

下周六当然是strtotime(”Next Saturday”);了

当然你也可以写成这样复杂的,当前时间一个月零两周,零三天,零4个小时16分钟32秒后的时间:

date(”Y-m-d H:i:s”,strtotime(”+1 months +1 week +3 days +4 hours +16 minutes +32 seconds”));

当前时间之后的时间是“+”,之前的时间当然用“-”就可以了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值