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 相关文章推荐
使用JSON实现数据的跨域传输的php代码
Dec 20 PHP
MySQL的FIND_IN_SET函数使用方法分享
Mar 27 PHP
php inc文件使用的风险和注意事项
Nov 12 PHP
详解Grunt插件之LiveReload实现页面自动刷新(两种方案)
Jul 31 PHP
PHP实现生成唯一会员卡号
Aug 24 PHP
PHP使用token防止表单重复提交的方法
Apr 07 PHP
PHP生成及获取JSON文件的方法
Aug 23 PHP
Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法
May 28 PHP
PHP htmlspecialchars_decode()函数用法讲解
Mar 01 PHP
laravel 解决Validator使用中出现的问题
Oct 25 PHP
PHP接入微信H5支付的方法示例
Oct 28 PHP
PHP获取学生成绩的方法
Nov 17 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获取linux服务器状态的代码
2014/05/27 PHP
php字符集转换
2017/01/23 PHP
php通过pecl方式安装扩展的实例讲解
2018/02/02 PHP
Laravel框架搜索分页功能示例
2019/02/01 PHP
JS 密码强度验证(兼容IE,火狐,谷歌)
2010/03/15 Javascript
Jquery Ajax xmlhttp请求成功问题
2015/02/04 Javascript
JavaScript设置、获取、清除单值和多值cookie的方法
2015/11/17 Javascript
Javascript数组Array方法解读
2016/03/13 Javascript
Winform客户端向web地址传参接收参数的方法
2016/05/17 Javascript
详细探究ES6之Proxy代理
2016/07/22 Javascript
JS获得多个同name 的input输入框的值的实现方法
2017/01/09 Javascript
jQuery实现复选框的全选和反选
2017/02/02 Javascript
Vue2.0 组件传值通讯的示例代码
2017/08/01 Javascript
使用 vue.js 构建大型单页应用
2018/02/10 Javascript
React中的refs的使用教程
2018/02/13 Javascript
深入理解vue-class-component源码阅读
2019/02/18 Javascript
基于three.js实现的3D粒子动效实例代码
2019/04/09 Javascript
vue 判断两个时间插件结束时间必选大于开始时间的代码
2020/11/04 Javascript
Python实现购物车功能的方法分析
2017/11/10 Python
python3实现跳一跳点击跳跃
2018/01/08 Python
python爬取代理IP并进行有效的IP测试实现
2020/10/09 Python
法国太阳镜店:Sunglasses Shop
2016/08/27 全球购物
美国最大的电子宠物训练产品制造商:PetSafe
2018/10/12 全球购物
美国演唱会和体育门票购买网站:Ticketnetwork
2018/10/19 全球购物
雅虎笔试题(字符串操作)
2015/03/24 面试题
实习销售业务员自我鉴定
2013/09/21 职场文书
客服文员岗位职责
2013/11/29 职场文书
绿化先进工作者事迹材料
2014/01/30 职场文书
趣味运动会活动方案
2014/02/12 职场文书
党员岗位承诺口号大全
2014/03/28 职场文书
医疗专业毕业生求职信
2014/08/28 职场文书
少先队活动总结
2014/08/29 职场文书
委托培训协议书
2014/11/17 职场文书
个人工作违纪检讨书
2015/05/05 职场文书
2015年小学体育工作总结
2015/05/22 职场文书
PyQt5爬取12306车票信息程序的实现
2021/05/14 Python