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 相关文章推荐
模板引擎Smarty深入浅出介绍
Dec 06 PHP
PHP三层结构(上) 简单三层结构
Jul 04 PHP
ThinkPHP采用模块和操作分析
Apr 18 PHP
PHP的SQL注入过程分析
Jan 06 PHP
phpphp图片采集后按原路径保存图片示例
Feb 18 PHP
CI框架自动加载session出现报错的解决办法
Jun 17 PHP
ThinkPHP安装和设置
Jul 27 PHP
PHP常用的排序和查找算法
Aug 06 PHP
利用php输出不同的心形图案
Apr 22 PHP
PHP标准类(stdclass)用法示例
Sep 28 PHP
PHP中检索字符串的方法分析【strstr与substr_count方法】
Feb 17 PHP
Yii2 中实现单点登录的方法
Mar 09 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/12/25 PHP
PHP array_push 数组函数
2009/12/26 PHP
php抓取https的内容的代码
2010/04/06 PHP
仿Aspnetpager的一个PHP分页类代码 附源码下载
2012/10/08 PHP
php可生成缩略图的文件上传类实例
2014/12/17 PHP
PHP的Yii框架中Model模型的学习教程
2016/03/29 PHP
Yii框架连接mongodb数据库的代码
2016/07/27 PHP
详解php语言最牛掰的Laravel框架
2017/11/20 PHP
php记录搜索引擎爬行记录的实现代码
2018/03/02 PHP
php ajax数据传输和响应方法
2018/08/21 PHP
jquery如何获取复选框的值
2013/12/12 Javascript
高性能JavaScript 重排与重绘(2)
2015/08/11 Javascript
JS获取IE版本号与HTML设置IE文档模式的方法
2016/10/09 Javascript
JS实现遍历不规则多维数组的方法
2018/03/21 Javascript
详解Vue中数组和对象更改后视图不刷新的问题
2018/09/21 Javascript
vue路由守卫+登录态管理实例分析
2019/05/21 Javascript
js实现橱窗展示效果
2020/01/11 Javascript
解决echarts 一条柱状图显示两个值,类似进度条的问题
2020/07/20 Javascript
[06:01]刀塔次级联赛top10第一期
2014/11/07 DOTA
[14:03]2017DOTA2亚洲邀请赛开幕式:12神兵演绎水墨中华
2017/04/01 DOTA
python实现简单ftp客户端的方法
2015/06/28 Python
python中numpy基础学习及进行数组和矢量计算
2017/02/12 Python
详解python读取和输出到txt
2019/03/29 Python
使用python PIL库实现简单验证码的去噪方法步骤
2019/05/10 Python
使用Flask-Cache缓存实现给Flask提速的方法详解
2019/06/11 Python
什么是python的id函数
2020/06/11 Python
python实现人工蜂群算法
2020/09/18 Python
Paul’s Boutique官网:英国时尚手袋品牌
2018/03/31 全球购物
化工机械应届生求职信
2013/11/04 职场文书
奶茶专卖店创业计划书
2014/01/18 职场文书
工厂保安员岗位职责
2014/01/31 职场文书
解放思想演讲稿
2014/09/11 职场文书
招标授权委托书样本
2014/09/23 职场文书
骨干教师考核评语
2014/12/31 职场文书
奖学金感谢信
2015/01/21 职场文书
2015年教研组工作总结
2015/05/04 职场文书