PHP程序员不应该忽略的3点


Posted in PHP onOctober 09, 2015

最近发现很多的PHP程序员,尤其是学习还不是很久的,都不知道PHP的精华所在。Perl当年如何在商界出名?其强大的正则表达式。而PHP呢?他是一门从Unix下发展起来的语言,当然也就继承了Perl的很多特点,同时C的优点都有。快速、简洁、明了,尤其是C程序员,PHP是至爱。这里,我想来写一篇PHP的变量、数组应用技巧和PHP的正则表达式、PHP的模板应用。
1、变量、数组的应用技巧
(1)很多人用得不多的数组函数。foreach、list、each。分别举几个例子,应该就能知道了。例:

$data = array('a' => 'data1', 'b' => 'data2', 'c' => 'data3'); 
while(list($subscript, $value) = each($data)) 
{ 
echo "$subscript => $value :: "; 
echo "$subscript => $valuen
"; 
} 
reset($data); 
foreach($data as $subscript => $value) 
{ 
echo "$subscript => $value :: "; 
echo "$subscript => $valuen
"; 
}

(2)函数的变量、变量的变量、变量的“指针”:看下例:

//变量的变量 
$var = "this is a var"; 
$varname = "var"; 
echo $$varname; 
//函数的变量 
function fun1($str) { 
echo $str; 
} 
$funname = "fun1"; 
$funname("This is a function !"); 
?>

变量的“指针”。这个指针加上了双引号,表明他不是真正的指针。看看下例:

function($a) { 
$a ++; 
} 
$c = 0; 
function($c); 
echo $c; //$c仍为0 
function(&$a) { 
$a ++; 
} 
$c = 0; 
echo $c; //$c为1 
?>

之所以称其为“指针”,就是因为他有了和C语言中指针相同的功能。但这又不是真正的指针,只能够是这样的去理解。
2、正则表达式
正则表达式是一个非常大的题目,Perl的正则表达式的强大是闻了名的。而PHP也不弱,他继承了Perl的正则表达式法则,还有自己的一套法则。这里只说PHP自己的正则表达式。
正则表达式是最基本的元素。简单地说就是一套规则,用于去判定其它的元素是不是符合自身的规则,或者说是不是有相同的特征描述。
正则表达式的开始符:^,结尾符$,这两个符号间的是匹配的元素。如检查一个电话号码是不是打往北京的号,用正则表达式表示就是“^010$”。只要前3位区号是010,就是北京的号,后面的电话号码就不用管了。然后,用正则表达式匹配函数ereg来判断,例:

$pattern = "^010$"; 
$phone = "01080718828"; 
if(ereg($pattern, $phone)) 
echo "打往北京的号"; 
else 
echo "不是打往北京的号"; 
?>

这就是正则表达式。北京的电话都是8位数字的,那我要知道这个号码是不是正确了?假如他按了9位号呢?如果判断正误?这就要用到正则表达式的字符簇。那么上例的正则表达式就要这样写:^010[0-9]{8}$,就能同时判断号码是不是符合规则。正则表达式有很多的应用,像LBB、VBB论坛在发贴时的所谓VBB代码LBB代码的解析,都是用正则表达式完成的。
3、模板
知道了正则表达式的功能,那么就可以知道模板了。什么是模板?举个例子吧?一般写网页用到了后台程序的时候,都是在网页里面插入程序代码。如PHP。这就是HTML和PHP的混写。这样的优点是读取速度快,缺点是如果大家分工合作做网站,那么非程序员就不会改网了。
而用模板,则可以达到分工的最合理化。美工只做页面,程序只写后台,然后再合起来。优秀的Jsp提供了自定义标签的功能很好地完成了模板功能。而主流的PHP如何做到呢?就是利用正则表达式来做到的。可以去网上下载一个PHPLIB,里面的PHP目录下有一个template.inc的源代码文件,那就是用PHP实现模板套用的类。

以上都是一些经验之谈,很实用,目的就是让大家更好的掌握php编程这门语言,希望大家能够有所收获。

PHP 相关文章推荐
PHP的一个基础知识 表单提交
Jul 04 PHP
PHP快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)
Apr 10 PHP
php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
Nov 06 PHP
php curl 上传文件代码实例
Apr 27 PHP
yii2控制器Controller Ajax操作示例
Jul 23 PHP
php中strlen和mb_strlen用法实例分析
Nov 12 PHP
php加密之discuz内容经典加密方式实例详解
Feb 04 PHP
PHP实现大数(浮点数)取余的方法
Feb 18 PHP
Windows 下安装 swoole 图文教程(php)
Jun 05 PHP
[原创]PHP实现SQL语句格式化功能的方法
Jul 28 PHP
PHP使用DOM对XML解析处理操作示例
Jul 04 PHP
PHP用swoole+websocket和redis实现web一对一聊天
Nov 05 PHP
PHP+jQuery+Ajax实现分页效果 jPaginate插件的应用
Oct 09 #PHP
jQuery+Ajax+PHP“喜欢”评级功能实现代码
Oct 08 #PHP
常见的四种POST 提交数据方式(小总结)
Oct 08 #PHP
PHP抽奖算法程序代码分享
Oct 08 #PHP
php视频拍照上传头像功能实现代码分享
Oct 08 #PHP
php+ajax 实现输入读取数据库显示匹配信息
Oct 08 #PHP
解决php的“It is not safe to rely on the system’s timezone settings”问题
Oct 08 #PHP
You might like
一段php加密解密的代码
2006/10/09 PHP
PHP执行linux系统命令的常用函数使用说明
2010/04/27 PHP
一个不易被发现的PHP后门代码解析
2014/07/05 PHP
php 问卷调查结果统计
2015/10/08 PHP
php提交post数组参数实例分析
2015/12/17 PHP
PHP使用file_get_contents发送http请求功能简单示例
2018/04/29 PHP
从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件
2011/02/23 Javascript
jquery移动节点实例
2015/01/14 Javascript
jQuery实现仿QQ空间装扮预览图片的鼠标提示效果代码
2015/10/30 Javascript
js判断请求的url是否可访问,支持跨域判断的实现方法
2016/09/17 Javascript
AngularJS监听路由的变化示例代码
2016/09/23 Javascript
JS回调函数简单用法示例
2017/02/09 Javascript
微信小程序 常用工具类详解及实例
2017/02/15 Javascript
js实现关闭网页出现是否离开提示
2017/12/07 Javascript
vue项目base64字符串转图片的实现代码
2018/07/13 Javascript
快速解决处理后台返回json数据格式的问题
2018/08/07 Javascript
Node爬取大批量文件的方法示例
2019/06/28 Javascript
Vue路由 重定向和别名的区别说明
2020/09/09 Javascript
python实现获取客户机上指定文件并传输到服务器的方法
2015/03/16 Python
python根据开头和结尾字符串获取中间字符串的方法
2015/03/26 Python
python使用fork实现守护进程的方法
2017/11/16 Python
对pandas中to_dict的用法详解
2018/06/05 Python
在python里面运用多继承方法详解
2019/07/01 Python
python批量修改ssh密码的实现
2019/08/08 Python
Win10用vscode打开anaconda环境中的python出错问题的解决
2020/05/25 Python
python如何停止递归
2020/09/09 Python
全球领先的美容用品专卖店:Beauty Plus Salon
2018/09/04 全球购物
The North Face北面法国官网:美国著名户外品牌
2019/11/01 全球购物
编辑找工作求职信范文
2013/12/16 职场文书
党的群众路线教育实践活动动员会主持词
2014/03/20 职场文书
争先创优活动总结
2014/08/27 职场文书
2014年医德医风工作总结
2014/11/13 职场文书
公司副总经理岗位职责
2015/04/08 职场文书
西游记读书笔记
2015/06/25 职场文书
选调生挂职锻炼工作总结
2015/10/23 职场文书
生命的关键成分来自太空?陨石说是的
2022/04/29 数码科技