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 相关文章推荐
Discuz! Passport 通行证整合
Mar 27 PHP
JS中encodeURIComponent函数用php解码的代码
Mar 01 PHP
php防注入,表单提交值转义的实现详解
Jun 10 PHP
解析php做推送服务端实现ios消息推送
Jul 01 PHP
PHP中常用的字符串格式化函数总结
Nov 19 PHP
php查看网页源代码的方法
Mar 13 PHP
PHP变量赋值、代入给JavaScript中的变量
Jun 29 PHP
浅析PHP中Session可能会引起并发问题
Jul 23 PHP
Laravel与CI框架中截取字符串函数
May 08 PHP
PHP GD库相关图像生成和处理函数小结
Sep 30 PHP
PHP设计模式之单例模式原理与实现方法分析
Apr 25 PHP
php中的依赖注入实例详解
Aug 14 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
再说下636单管机
2021/03/02 无线电
PHP面向对象程序设计之接口用法
2014/08/20 PHP
Prototype Hash对象 学习
2009/07/19 Javascript
javascript 一些用法小结
2009/09/11 Javascript
javascript 检测浏览器类型和版本的代码
2009/09/15 Javascript
jQuery UI的Dialog无法提交问题的解决方法
2011/01/11 Javascript
javascript设置金额样式转换保留两位小数示例代码
2013/12/04 Javascript
jQuery制作简单柱状图实例
2015/01/28 Javascript
JS获取checkbox的个数简单实例
2016/08/19 Javascript
vue+canvas实现炫酷时钟效果的倒计时插件(已发布到npm的vue2插件,开箱即用)
2018/11/05 Javascript
vue2 v-model/v-text 中使用过滤器的方法示例
2019/05/09 Javascript
vue.js中导出Excel表格的案例分析
2019/06/11 Javascript
layer关闭当前窗口页面以及确认取消按钮的方法
2019/09/09 Javascript
中级前端工程师必须要掌握的27个JavaScript 技巧(干货总结)
2019/09/23 Javascript
微信小程序实现多行文字滚动
2020/11/18 Javascript
node.js通过Sequelize 连接MySQL的方法
2020/12/28 Javascript
[00:52]DOTA2第二届亚洲邀请赛预选赛宣传片
2017/01/13 DOTA
Python遍历目录的4种方法实例介绍
2015/04/13 Python
Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
2018/03/19 Python
python实现一个点绕另一个点旋转后的坐标
2019/12/04 Python
浅谈django不使用restframework自定义接口与使用的区别
2020/07/15 Python
Python子进程subpocess原理及用法解析
2020/07/16 Python
python使用多线程查询数据库的实现示例
2020/08/17 Python
HTML5学习心得总结(推荐)
2016/07/08 HTML / CSS
雅萌 (YA-MAN) :日本美容家电领域的龙头企业
2017/05/12 全球购物
英国领先的维生素和营养补充剂直接供应商:Healthspan
2019/04/22 全球购物
迪卡侬比利时官网:Decathlon比利时
2019/12/28 全球购物
岗位职责风险点
2014/03/12 职场文书
小班评语大全
2014/05/04 职场文书
委托书怎样写
2014/08/30 职场文书
2014年打非治违工作总结
2014/11/13 职场文书
廉政承诺书
2015/01/19 职场文书
幼儿园小班教学反思
2016/03/03 职场文书
SQL Server中交叉联接的用法详解
2021/04/22 SQL Server
CSS 实现多彩、智能的阴影效果
2021/05/12 HTML / CSS
基于Pygame实现简单的贪吃蛇游戏
2021/12/06 Python