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 strtok()函数的优点分析
Mar 02 PHP
php知道与问问的采集插件代码
Oct 12 PHP
php小偷相关截取函数备忘
Nov 28 PHP
PHP校验ISBN码的函数代码
Jan 17 PHP
2个比较经典的PHP加密解密函数分享
Jul 01 PHP
微信公众号开发之微信公共平台消息回复类实例
Nov 14 PHP
ThinkPHP内置jsonRPC的缺陷分析
Dec 18 PHP
php实现mysql数据库分表分段备份
Jun 18 PHP
PHP基于phpqrcode类生成二维码的方法详解
Mar 14 PHP
PHP使用SOAP调用API操作示例
Dec 25 PHP
PHP经典设计模式之依赖注入定义与用法详解
May 21 PHP
php的优点总结 php有哪些优点
Jul 19 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
火影忍者:这才是千手柱间和扉间的真正死因,角都就比较搞笑了!
2020/03/10 日漫
深入探讨PHP中的内存管理问题
2011/08/31 PHP
PHP插入排序实现代码
2013/04/04 PHP
PHP以指定字段为索引返回数据库所取的数据数组
2013/06/30 PHP
php生成rss类用法实例
2015/04/14 PHP
php获取文件后缀的9种方法
2016/03/22 PHP
一个简单安全的PHP验证码类、PHP验证码
2016/09/24 PHP
PHP文件操作实例总结
2016/09/27 PHP
完美解决Thinkphp3.2中插入相同数据的问题
2017/08/01 PHP
可以支持多中格式的JS键盘
2007/05/02 Javascript
超链接的禁用属性Disabled使用示例
2014/07/31 Javascript
JS实现简易图片轮播效果的方法
2015/03/25 Javascript
Express之get,pos请求参数的获取
2017/05/02 Javascript
Underscore之Array_动力节点Java学院整理
2017/07/10 Javascript
webpack公共组件引用路径简化小技巧
2018/06/15 Javascript
Vue实现简易翻页效果源码分享
2018/11/08 Javascript
原生JS实现图片懒加载之页面性能优化
2019/04/26 Javascript
vue 对axios get pust put delete封装的实例代码
2020/01/05 Javascript
关于AngularJS中几种Providers的区别总结
2020/05/17 Javascript
vue动态加载SVG文件并修改节点数据的操作代码
2020/08/17 Javascript
[46:55]Ti4 冒泡赛第二轮 LGD vs C9
2014/07/14 DOTA
[00:21]DOTA2亚洲邀请赛 Logo演绎
2015/02/07 DOTA
Python与人工神经网络:使用神经网络识别手写图像介绍
2017/12/19 Python
Python获取好友地区分布及好友性别分布情况代码详解
2019/07/10 Python
Django 开发调试工具 Django-debug-toolbar使用详解
2019/07/23 Python
Django Admin后台添加数据库视图过程解析
2020/04/01 Python
html5 Canvas画图教程(3)—canvas出现1像素线条模糊不清的原因
2013/01/09 HTML / CSS
为什么会有内存对齐
2016/10/10 面试题
大学学年自我鉴定
2013/10/28 职场文书
致跳高运动员加油稿
2014/02/12 职场文书
2014年党务公开方案
2014/05/08 职场文书
小学节能减排倡议书
2014/05/15 职场文书
提拔干部考察材料
2014/05/26 职场文书
平安家庭事迹材料
2014/12/20 职场文书
回门宴新娘答谢词
2015/09/29 职场文书
2019事业单位个人工作总结范文
2019/08/26 职场文书