php的一些小技巧
来源:互联网 发布:软件测试岗位职责 编辑:程序博客网 时间:2024/05/15 06:20
1. str_replace
str_replace是非常常常常常用的php函数,用于字符串替换,经常看到某些php新人为了替换一批字符串,写了好多行str_replace,实在是惨不忍睹。
比如这个例子:
PLAIN TEXT
PHP:
- $str='某人的栖息地 --- www.ooso.net';
- $str=str_replace('某人','坏人',$str);
- $str=str_replace('的','di',$str);
- $str=str_replace('栖息地','猪窝窝',$str);
- $str=str_replace('www.ooso.net','ooso.net',$str);
以上,替换了4次字符串,实际只要换个写法,一行就搞定了:
PLAIN TEXT
PHP:
- $str='某人的栖息地 --- www.ooso.net';
- $str=str_replace(array('某人','的','栖息地','www.ooso.net'),array('坏人','di','猪窝窝','ooso.net'),$str);
2. array
经常看到有人拿数组这样写:
echo$arr[some_key];
上面这行代码能跑,看上去也没什么大问题,但是如果你把php.ini的error notice打开的话,会收到一大批error。php解析器首先是拿“some_key”当作一个常量来解释的,但如果没有定义some_key这样一个常量,解析器还是很宽容的把它当作了一个字符串来看待。因此新人同学们最好写完整一点:
echo$arr['some_key'];
这样就没有问题了,如果你要把它放在双引号中连用,也不能省掉引号,可以这样写:
echo"这是混在双引号中的字符串{$arr['some_key']}";
3. 类型戏法
类型戏法相当好用,比如有一个表单提交过来的变量,正常情况下它应该是整型的,有时候偷懒省去校验的写法可以是这样的:
$intVar=(int)$_POST['post_var'];
再比如数组,有时候写键值要打引号是不是很不爽啊,我们可以把它转换成object,比如:
$arr=array('name'=>'volcano','sex'=>'male');
- $arr=(object)$arr;
- echo$arr->name;
- echo$arr->sex;
是不是很省事?
4. lambda函数
lamda函数和array_*系列函数使用有奇效,拿php手册上的一个例子来说:
- <?php
- $av=array("the ","a ","that ","this ");
- array_walk($av,create_function('&$v,$k','$v = $v . "mango";'));
- print_r($av);
- ?>
至少省了一个for循环
5. 嵌套循环显示表格的单元格
嵌套循环显示表格的单元格,这是一个很老的话题哦,往往会要在某个单元格后边加个条件判断什么的,考虑是不是要输出tr抑或是td标签。
俺这里介绍一个办法,利用array_chunk函数能够比较工整的输出html,见下例,这个例子要输出一个4行6列的表格:
<?php
- $arr=range(1,24);//这个会生成一个数组array(1,2,3,4....24)
- $arr=array_chunk($arr,6);
- // output table
- ?>
- <table>
- <?phpforeach($arras$row):?>
- <tr>
- <?phpforeach($rowas$col):?>
- <td><?phpecho$col?></td>
- <?phpendforeach;?>
- </tr>
- <?phpendforeach;?>
- </table>原文:http://www.phpchina.com/html/23/31423-9566.html
- php的一些小技巧
- 提高PHP运行速度的一些小技巧分享
- 提高PHP运行速度的一些小技巧分享
- 提高PHP运行速度的一些小技巧分享
- PHP的小技巧
- PHP的一些技巧
- php的一些技巧
- HTML小技巧的一些小技巧
- HTML小技巧的一些小技巧
- HTML小技巧的一些小技巧
- HTML小技巧的一些小技巧
- JasperReports的一些小技巧
- 整人的一些小技巧!
- VC的一些小技巧
- 常用的一些小技巧
- freebsd的一些小技巧
- javascript的一些小技巧
- javascript的一些小技巧
- 泛型
- Modern C++ Design 笔记 第十一章 MultiMethods(3)收藏
- “IT 经典” 高校征文大赛 3等奖新鲜出炉
- 原创vc: 对话框嵌入到对话框 或者:窗口嵌入到窗口,一个窗口嵌入到另一个窗口
- JS获取表格行数和列数
- php的一些小技巧
- 容器 小结
- 使用Hibernate向MySQL数据库中存取文件
- 节后综合症
- Solution for Can’t update table ‘t1′ in stored function/trigger because it is already used by statement which invoked this store
- URL Rewrite(4):不同级别URL Rewrite的一些细节与特点
- 常用Windows 运行命令
- Windows 内存泄漏检测工具——LeakDiag
- ideas about sharing software