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之第十天
Oct 09 PHP
php数组函数序列之array_slice() - 在数组中根据条件取出一段值,并返回
Nov 07 PHP
phpExcel导出大量数据出现内存溢出错误的解决方法
Feb 28 PHP
使用PHP接收POST数据,解析json数据
Jun 28 PHP
请离开include_once和require_once
Jul 18 PHP
php中单个数据库字段多列显示(单字段分页、横向输出)
Jul 28 PHP
PHP简单选择排序算法实例
Jan 26 PHP
PHP实现微信网页授权开发教程
Jan 19 PHP
php检测mysql表是否存在的方法小结
Jul 20 PHP
完美的php分页类
Oct 24 PHP
PHP分享图片的生成方法
Apr 25 PHP
Ajax请求PHP后台接口返回信息的实例代码
Aug 21 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 Socket 编程
2010/04/09 PHP
php session_start()出错原因分析及解决方法
2013/10/28 PHP
使用php记录用户通过搜索引擎进网站的关键词
2014/02/13 PHP
php更新mysql后获取改变行数的方法
2014/12/25 PHP
phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法
2016/03/30 PHP
JSON字符串传到后台PHP处理问题的解决方法
2016/06/05 PHP
thinkphp中的url跳转用法分析
2016/07/12 PHP
PHP魔术方法以及关于独立实例与相连实例的全面讲解
2016/10/18 PHP
基于jquery的滚动新闻列表
2010/06/19 Javascript
高亮显示web页表格行的javascript代码
2010/11/19 Javascript
web网页按比例显示图片实现原理及js代码
2013/08/09 Javascript
jQuery Tags Input Plugin(添加/删除标签插件)详解
2016/06/20 Javascript
JavaScript关于提高网站性能的几点建议(一)
2016/07/24 Javascript
通过原生JS实现为元素添加事件的方法
2016/11/23 Javascript
20行js代码实现的贪吃蛇小游戏
2017/06/20 Javascript
VueJS 集成 Medium Editor的示例代码 (自定义编辑器按钮)
2017/08/24 Javascript
JavaScript伪数组用法实例分析
2017/12/22 Javascript
详解tween.js 中文使用指南
2018/01/05 Javascript
vue组件从开发到发布的实现步骤
2018/11/11 Javascript
微信小程序npm引入vant-weapp的踩坑记录
2019/08/01 Javascript
vue实现循环滚动列表
2020/06/30 Javascript
在react项目中使用antd的form组件,动态设置input框的值
2020/10/24 Javascript
python生成ppt的方法
2018/06/07 Python
详解python里的命名规范
2018/07/16 Python
python url 参数修改方法
2018/12/26 Python
详解python执行shell脚本创建用户及相关操作
2019/04/11 Python
在python3中使用shuffle函数要注意的地方
2020/02/28 Python
python为什么要安装到c盘
2020/07/20 Python
html5中localStorage本地存储的简单使用
2017/06/16 HTML / CSS
利用三角函数在canvas上画虚线的方法
2018/01/11 HTML / CSS
美国最便宜的旅游网站:CheapTickets
2017/07/09 全球购物
高校自主招生自荐信
2013/12/09 职场文书
升学宴家长致辞
2015/07/27 职场文书
医生行业员工的辞职信
2019/06/24 职场文书
golang判断key是否在map中的代码
2021/04/24 Golang
MySQL七大JOIN的具体使用
2022/02/28 MySQL