PHP程序员不应该忽略的3点

最近发现很多的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编程这门语言,希望大家能够有所收获。

(0)

相关推荐

  • PHP程序员编程注意事项

    1.不转意html entities   一个基本的常识:所有不可信任的输入(特别是用户从form中提交的数据) ,输出之前都要转意. echo $_GET['usename'] ; 这个例子有可能输出: <script>/*更改admin密码的脚本或设置cookie的脚本*/</script> 这是一个明显的安全隐患,除非你保证你的用户都正确的输入. 如何修复 : 我们需要将"< ",">","and" 等转

  • PHP程序员面试 切忌急功近利(更需要注重以后的发展)

    我一说出这样的话,人们大量的评论就会批评道:你错了,错了,完全的错了. 好的程序员需要具备沟通交流的技能,他们要有跟他人一起合作的能力.团队里不止你一个人! 事实上,人们会说:最好折中一下对技术上的要求,这样可以找出更能适应企业文化的人. 你不如这样说更合适:找不到那种技术上又好.又能适应企业文化的人,我就等着,一直找到为止. 我们很少有敢这样奢侈的公司,也许Google可以这样,就是Google这样的公司也一直处于一个"对招聘程序员感到绝望"的状态中.如果你决定去等,我可以预见到每招

  • 如何突破PHP程序员的技术瓶颈分析

    先明确我所指的PHP工程题,是指毕业工作后,主要以PHP进行WEB系统的开发,没有使用其的语言工作过.工作经验大概在3~4年,普通的WEB系统(百万级访问,千成级数据以内或业务逻辑不是特别复杂)开发起基本得心应手,没有什么问题.但他们会这样的物点: 除了PHP不使用其它的语言,可能会点shell 脚本. 对PHP的掌握不精(很多PHP手册都没有看完,库除外) 知识面比较窄(面对需求,除开使用PHP和mysql ,不知道其它的解决办法) PHP代码以过程为主,认为面向对象的实现太绕,看不懂 这些P

  • PHP程序员必须清楚的问题汇总

    你是否正在准备寻找一份PHP开发的工作,并且也在寻找一些关于PHP的面试题及答案?本文为大家分享了一些被提问频率最高的11个PHP面试题,以及对应的常规回答,每个公司都有自己的面试标准,面试和问题是完全取决于你在工作中所扮演的角色,当然也和你的编程技能息息相关. 1. 问题:请用最简单的语言告诉我PHP是什么? 回答:PHP全称:Hypertext Preprocessor,是一种用来开发动态网站的服务器脚本语言. 2. 问题:什么是MVC? 回答:MVC由Model(模型), View(视图)

  • PHP程序员基本要求和必备技能

    昨天在图书馆看书,看到<电脑报>上的一篇文章,题目为<30岁不是程序员的终点>,(详情可参看<电脑报>2010年第19期,G14版数字职场的文章).大致内容是采访一位30岁的PHP高级程序员,他讲了一些关于PHP程序员必备知识,感觉很是受用,于是做了些笔记: 一名PHP程序员的基本要求: 1.精通html.CSS.JS等网站前端技术. 2.掌握PHP编程技术. 3.了解Linux及Apache.MySql 4.知道基本的网络原理,了解TCP/IP协议. 5.了解基本的软

  • PHP程序员常见的40个陋习,你中了几个?

    1.不写注释   2.不使用可以提高生产效率的IDE工具   3.不使用版本控制   4.不按照编程规范写代码   5.不使用统一的方法   6.编码前不去思考和计划   7.在执行sql前不执行编码和安全检测   8.不使用测试驱动开发   9.编码时不打开自动报错(error_reporting)   10.不使用一种好的调试工具   11.不重构你的代码(refactor)   12.不采用MVC这样的分层结构   13.不知道以下等等概念:KISS,DRY,MVC,OOP,REST  

  • 8个PHP程序员常用的功能汇总

    做过PHP开发的程序员应该清楚,PHP中有很多内置的功能,掌握了它们,可以帮助你在做PHP开发时更加得心应手,本文将分享8个开发必备的PHP功能,个个都非常实用,希望各位PHP开发者能够掌握. 1.传递任意数量的函数参数 我们在.NET或者JAVA编程中,一般函数参数个数都是固定的,但是PHP允许你使用任意个数的参数.下面这个示例向你展示了PHP函数的默认参数: 复制代码 代码如下: // 两个默认参数的函数 function foo($arg1 = ", $arg2 = ") { e

  • php正则表达式完全教程之精华篇

    php正则表达式的部分例子 正则表达式 说明 /b([a-z]+) 1b/gi  一个单词连续出现的位置 /(w+)://([^/:]+)(:d*)?([^# ]*)/  将一个URL解析为协议.域.端口及相对路径 /^(?:Chapter|Section) [1-9][0-9]{0,1}$/  定位章节的位置 /[-a-z]/    A至z共26个字母再加一个-号. /terb/    可匹配chapter,而不能terminal /Bapt/    可匹配chapter,而不能aptitud

  • 国外PHP程序员的13个好习惯小结

    也就是本文列举的这13个PHP编码好习惯,如果你有更好的建议,欢迎在本文后面的评论中发表,我这个人是喜欢求知的1.使用select从相同的数据库查询信息时,使用一个join语句一次性整齐地获取你需要的所有信息,而不要写多个mysql_query/while/mysql_fetch_array语句. 2.如果你在多个文件中调用了一个数据库连接,创建一个connection.php文件保存你的连接变量,在需要的地方将这个文件包括进来. 3.对于小型项目,将你所有的函数写在一个文件中,如果是大型项目就

  • 作为PHP程序员应该了解MongoDB的五件事

    2010年应该被人们记住,因为SQL将在这一年死去.这一年关系数据库行将就木,这一年开发者发现他们再不需要长时间辛苦的构造列或者表格来存放数据.2010年将是文档型数据库的起始年.尽管这样的势头已经持续多年,现在才是一个更多,更广泛的文档型数据库出现的年代.从基于云计算的Amazon到Google,大量开源工具,以及随之诞生的CouchDB和MongoDB.那么什么是MongoDB?下面有五件事是PHP开发者应该了解的:1. MongoDB是一个单独的服务器;2. MongoDB是基于文档,而不

  • PHP程序员最常犯的11个MySQL错误小结

    对于很多新手们来说,使用PHP可以在短短几个小时之内轻松地写出具有特定功能的代码.但是,构建一个稳定可靠的数据库却需要花上一些时日和相关技能.下面列举了我曾经犯过的最严重的11个MySQL相关的错误(有些同样也反映在其他语言/数据库的使用上)... 1.使用MyISAM而不是InnoDB MySQL有很多数据库引擎,但是你最可能碰到的就是MyISAM和InnoDB. MySQL默认使用的是MyISAM.但是,很多情况下这都是一个很糟糕的选择,除非你在创建一个非常简单抑或实验性的数据库.外键约束或

  • 五个PHP程序员工具

    Phing - 一个项目构建系统 Phing 是一个基于Apache ANT 的项目构建系统.它的名字是一个拗口的语句首字母缩写 - PHing Is Not GNU make .Phing可以做传统构建系统比如 GNU make 能做的任何事情,同时没有陡峭的学习曲线. 在phing(以及其他的构建系统)背后的思想是评估一系列相关性,然后执行一系列PHP类去正确的安装和配置一个应用系统.构建过程用一个简单的XML配置文件控制.Out of the box, phing内置可以执行一系列替换(比

  • php程序员应具有的7种能力小结

    一,php能力   1,了解阶段,您能写一些代码,因为那是在手册和google的帮助下,您才完成的.变量乱定义,N多函数不知道,做起事来很慢,想到什么写什么,代码写的比较乱,后期维护很麻烦.   2,熟悉阶段,经常查函数,手册估计也看过一,二遍了,常用的函数基本上您都了解了.后 期维护给您带来了不少痛苦,您开始发现自己的代码有很多不足,开始思考如果改进自己的代码,如何站在项目的角度来规划自己的代码,而不是想到什么写什么, 知道如何来减少冗余代码,使您的代码清晰,知道什么样的代码写出来让人看着舒服

随机推荐