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中的cookie
Nov 26 PHP
PHP常用代码大全(新手入门必备)
Jun 29 PHP
PHP小技巧之函数重载
Jun 02 PHP
php数组添加元素方法小结
Dec 20 PHP
浅谈php的优缺点
Jul 14 PHP
php 生成Tab键或逗号分隔的CSV
Sep 24 PHP
PHP串行化与反串行化实例分析
Dec 27 PHP
PHP实现RTX发送消息提醒的实例代码
Jan 03 PHP
基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能
Jan 24 PHP
php使用parse_str实现查询字符串解析到变量中的方法
Feb 17 PHP
老生常谈PHP面向对象之标识映射
Jun 21 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
Feb 27 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车辆违章查询数据示例
2016/10/14 PHP
Laravel 实现密码重置功能
2018/02/23 PHP
Javascript String对象扩展HTML编码和解码的方法
2009/06/02 Javascript
jquery实现网站超链接和图片提示效果
2013/03/21 Javascript
javascript两种function的定义介绍及区别说明
2013/05/02 Javascript
javascript删除一个html元素节点的方法
2014/12/20 Javascript
Bootstrap table简单使用总结
2017/02/15 Javascript
解决VUEX刷新的时候出现数据消失
2017/07/03 Javascript
使用JQ完成表格隔行换色的简单实例
2017/08/25 Javascript
vue-router实现组件间的跳转(参数传递)
2017/11/07 Javascript
JS与CSS3实现图片响应鼠标移动放大效果示例
2018/05/04 Javascript
Vue-router 切换组件页面时进入进出动画方法
2018/09/01 Javascript
一文搞懂ES6中的Map和Set
2019/05/20 Javascript
VUE中V-IF条件判断改变元素的样式操作
2020/08/09 Javascript
vue中axios封装使用的完整教程
2021/03/03 Vue.js
[34:39]Secret vs VG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
python 不关闭控制台的实现方法
2011/10/23 Python
python实现决策树分类(2)
2018/08/30 Python
Python函数的默认参数设计示例详解
2019/12/01 Python
Python递归函数特点及原理解析
2020/03/04 Python
使用pyplot.matshow()函数添加绘图标题
2020/06/16 Python
Django crontab定时任务模块操作方法解析
2020/09/10 Python
opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器
2020/11/13 Python
css 元素选择器的简单实例
2016/05/23 HTML / CSS
美国农场鲜花速递:The Bouqs
2018/07/13 全球购物
Brasty波兰:香水、化妆品、手表网上商店
2019/04/15 全球购物
简述synchronized和java.util.concurrent.locks.Lock的异同
2014/12/08 面试题
给朋友的道歉信
2014/01/09 职场文书
一年级家长会邀请函
2014/01/25 职场文书
小学教师评语大全
2014/04/23 职场文书
社区志愿者活动方案
2014/08/18 职场文书
刑事附带民事上诉状
2015/05/23 职场文书
表扬稿表扬信的格式及范文
2019/06/24 职场文书
Python爬虫之爬取最新更新的小说网站
2021/05/06 Python
将MySQL的表数据全量导入clichhouse库中
2022/03/21 MySQL
CentOS安装Nginx并部署vue
2022/04/12 Servers