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调用三种数据库的方法(3)
Oct 09 PHP
关于BIG5-HKSCS的解决方法
Mar 20 PHP
使用eAccelerator加密PHP程序
Oct 03 PHP
php 连接mysql连接被重置的解决方法
Feb 15 PHP
PHP 通过Socket收发十六进制数据的实现代码
Aug 16 PHP
php实现修改新闻时删除图片的方法
May 12 PHP
PHP的Yii框架中使用数据库的配置和SQL操作实例教程
Mar 17 PHP
PHP5.2中PDO的简单使用方法
Mar 25 PHP
PHP环形链表实现方法示例
Sep 15 PHP
Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法
May 28 PHP
Laravel利用gulp如何构建前端资源详解
Jun 03 PHP
Yii2框架配置文件(Application属性)与调试技巧实例分析
May 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
一个用mysql_odbc和php写的serach数据库程序
2006/10/09 PHP
深入理解PHP变量的值类型和引用类型
2015/10/21 PHP
php session的锁和并发
2016/01/22 PHP
Zend Framework开发入门经典教程
2016/03/23 PHP
php 调用百度sms来发送短信的实现示例
2018/11/02 PHP
Dom操作之兼容技巧分享
2011/09/20 Javascript
Javascript图像处理—亮度对比度应用案例
2013/01/03 Javascript
利用JS实现浏览器的title闪烁
2013/07/08 Javascript
javascript学习笔记(二)数组和对象部分
2014/09/30 Javascript
JavaScript使用indexOf获得子字符串在字符串中位置的方法
2015/04/06 Javascript
Angularjs中如何使用filterFilter函数过滤
2016/02/06 Javascript
JS中call/apply、arguments、undefined/null方法详解
2016/02/15 Javascript
JQuery DIV 动态隐藏和显示的方法
2016/06/23 Javascript
详解在express站点中使用ejs模板引擎
2017/09/21 Javascript
jQuery实现鼠标响应式透明度渐变动画效果示例
2018/02/13 jQuery
JavaScript设计模式之构造器模式(生成器模式)定义与用法实例分析
2018/07/26 Javascript
使用React手写一个对话框或模态框的方法示例
2019/04/25 Javascript
Layui 带多选框表格监听事件以及按钮自动点击写法实例
2019/09/02 Javascript
countUp.js实现数字动态变化效果
2019/10/17 Javascript
vue基础知识--axios合并请求和slot
2020/06/04 Javascript
解决ant Design Search无法输入内容的问题
2020/10/29 Javascript
[00:12]2018DOTA2亚洲邀请赛 Somnus丶M出阵单挑
2018/04/06 DOTA
[00:12]DAC2018 no[o]ne亮相SOLO赛 他是否如他的id一样无人可挡?
2018/04/06 DOTA
Python实现全局变量的两个解决方法
2014/07/03 Python
20招让你的Python飞起来!
2016/09/27 Python
Python批量安装卸载1000个apk的方法
2020/04/10 Python
python 6种方法实现单例模式
2020/12/15 Python
英国领先的家庭时尚品牌:Peacocks
2018/01/11 全球购物
墨尔本最受欢迎的复古风格品牌:Princess Highway
2018/12/21 全球购物
盖尔斯工厂店:GUESS Factory
2020/01/21 全球购物
GC是什么?为什么要有GC?
2013/12/08 面试题
投资合作协议书范本
2014/04/17 职场文书
优秀的个人求职信范文
2014/05/09 职场文书
预备党员综合考察材料
2014/05/31 职场文书
人代会简报
2015/07/21 职场文书
react 路由Link配置详解
2021/11/11 Javascript