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 相关文章推荐
?繁体转换的class
Oct 09 PHP
PHP+MySQL5.0中文乱码解决方法
Nov 20 PHP
ADODB结合SMARTY使用~超级强
Nov 25 PHP
php学习之运算符相关概念
Jun 09 PHP
50个PHP程序性能优化的方法
Jun 02 PHP
CI框架中集成CKEditor编辑器的教程
Jun 09 PHP
Thinkphp模板中截取字符串函数简介
Jun 17 PHP
PHP实现自动识别Restful API的返回内容类型
Feb 07 PHP
php实现改变图片直接打开为下载的方法
Apr 14 PHP
利用PHP命令行模式采集股票趋势信息
Aug 09 PHP
PHP PDOStatement::fetchAll讲解
Jan 31 PHP
laravel中的fillable和guarded属性详解
Oct 23 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中在数据库中保存Checkbox数据(2)
2006/10/09 PHP
php注入实例
2006/10/09 PHP
第十二节--类的自动加载
2006/11/16 PHP
php 文件状态缓存带来的问题
2008/12/14 PHP
降低PHP Redis内存占用
2017/03/23 PHP
Jquery选择器 $实现原理
2009/12/02 Javascript
JS根据年月获得当月天数的实现代码
2014/07/03 Javascript
jQuery制作简洁的多级联动Select下拉框
2014/12/23 Javascript
jQuery中:checked选择器用法实例
2015/01/04 Javascript
javascript实现仿IE顶部的可关闭警告条
2015/05/05 Javascript
基于bootstrap实现广告轮播带图片和文字效果
2016/07/22 Javascript
Bootstrap基本插件学习笔记之Tooltip提示工具(18)
2016/12/08 Javascript
详解闭包解决jQuery中AJAX的外部变量问题
2017/02/22 Javascript
详解vue2.0组件通信各种情况总结与实例分析
2017/03/22 Javascript
微信小程序表单验证功能完整实例
2017/12/01 Javascript
Bootstrap 模态框自定义点击和关闭事件详解
2018/08/10 Javascript
Node.js中的不安全跳转如何防御详解
2018/10/21 Javascript
关于ckeditor在bootstrap中modal中弹框无法输入的解决方法
2019/09/11 Javascript
浅谈python函数之作用域(python3.5)
2017/10/27 Python
python SMTP实现发送带附件电子邮件
2018/05/22 Python
python中对_init_的理解及实例解析
2019/10/11 Python
使用OpenCV获取图像某点的颜色值,并设置某点的颜色
2020/06/02 Python
Python sublime安装及配置过程详解
2020/06/29 Python
一套中级Java程序员笔试题
2015/01/14 面试题
销售自荐信
2013/10/22 职场文书
生产管理的三大手法
2013/11/11 职场文书
公司离职证明标准范本
2014/10/05 职场文书
执法作风整顿剖析材料
2014/10/11 职场文书
村党建工作汇报材料
2014/11/02 职场文书
酒店员工辞职信范文
2015/02/28 职场文书
2015年暑期社会实践活动总结
2015/03/27 职场文书
公司联欢会主持词
2015/07/04 职场文书
安全温馨提示语大全
2015/07/14 职场文书
创业计划书之香辣虾火锅
2019/09/23 职场文书
mysql查询的控制语句图文详解
2021/04/11 MySQL
Python深度学习之Pytorch初步使用
2021/05/20 Python