PHP几点精华

我发现很多的PHP程序员,尤其是学习还不是很久的,都不知道PHP的精华所在。Perl当年如何在商界出名?其强大的正则表达式。而PHP呢?他是一门从Unix下发展起来的语言,当然也就继承了Perl的很多特点,同时C的优点都有。快速、简洁、明了,尤其是C程序员,PHP是至爱,我就是深爱着“PHP”(都忘了女友了:))。这里,我想来写一篇PHP的变量、数组应用技巧和PHP的正则表达式、PHP的模板应用,以后有时间再写PHP与COM、PHP与XML的完全结合。

1、变量、数组的应用技巧

(1)很多人用得不多的数组函数。foreach、list、each。分别举几个例子,应该就能知道了。例: 

<?php
$data = array('a' => 'data1', 'b' => 'data2', 'c' => 'data3'); 
while(list($subscript, $value) = each($data)) 

  echo "$subscript => $value :: "; 
  echo "$subscript => $value\n<br>"; 
} 
reset($data); 
foreach($data as $subscript => $value) 

  echo "$subscript => $value :: "; 
  echo "$subscript => $value\n<br>"; 

(2)函数的变量、变量的变量、变量的“指针”:看下例: 

<?php
//变量的变量
$var = "this is a var";
$varname = "var";
echo $$varname;
//函数的变量
function fun1($str) {
echo $str;
}
$funname = "fun1";
$funname("This is a function !");
?> 

变量的“指针”。这个指针加上了双引号,表明他不是真正的指针。看看下例: 

<?php
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来判断,例: 

<?php
$pattern = "^010$";
$phone = "01080718828";
if(ereg($pattern, $phone))
echo "打往北京的号";
else
echo "不是打往北京的号";
?> 

这就是正则表达式。北京的电话都是8位数字的,那我要知道这个号码是不是正确了?假如他按了9位号呢?如果判断正误?这就要用到正则表达式的字符簇。那么上例的正则表达式就要这样写:^010[0-9]{8}$,就能同时判断号码是不是符合规则。正则表达式有很多的应用,像LBB、VBB论坛在发贴时的所谓VBB代码LBB代码的解析,都是用正则表达式完成的。

时间: 2024-11-02 07:44:33

PHP几点精华的相关文章

精华:AJAX开发简略 (第二部分)

ajax|精华 七.AJAX开发 到这里,已经可以清楚的知道AJAX是什么,AJAX能做什么,AJAX什么地方不好.如果你觉得AJAX真的能给你的开发工作带来改进的话,那么继续看看怎么使用AJAX吧. 7.1.AJAX应用到的技术 AJAX涉及到的7项技术中,个人认为Javascript.XMLHttpRequest.DOM.XML比较有用. A.XMLHttpRequest对象 XMLHttpRequest是XMLHTTP组件的对象,通过这个对象,AJAX可以像桌面应用程序一样只同服务器进行数

精华:AJAX开发简略(第一部分)

ajax|精华 在使用浏览器浏览网页的时候,当页面刷新很慢的时候,你的浏览器在干什么?你的屏幕内容是什么?是的,你的浏览器在等待刷新,而你的屏幕内容是一片空白,而你在屏幕前苦苦的等待浏览器的响应. 开发人员为了克服这种尴尬的局面,不得不在每一个可能需要长时间等待响应的页面上增加一个DIV,告诉用户"系统正在处理您的请求,请稍候--".现在,有一种越来越流行越热的"老"技术,可以彻底改变这种窘迫的局面.那就是AJAX.如今,随着Gmail.Google-maps的应用

XML精华学习入门(只要你进来肯定能学会)

xml|精华 1.前言本贴绝大部分资源均转自www.xml.org.cn声明先,免得有人说偶盗链 2.黄金装备XML Explorer简体中文正式版(免费)XML.ORG.CN下载(推荐这个,简单易用,比冰火双剑还要牛X)介绍XML Explorer是一个XML和schema编辑器.它简单易用,可以展现多个窗口.可从树状图.列表.表格.文字模式和跳出式编辑区等方式操作任何XML资料. * 它的copy and paste功能可以让使用者复制任何XML 文字到系统剪贴簿上,然后贴到任何XML Ex

数据库知识—SQL查询语句精华使用简要

精华|数据|数据库|语句 一. 简单查询 简单的Transact-SQL查询只包括选择列表.FROM子句和WHERE子句.它们分别说明所查询列.查询的表或视图.以及搜索条件等. 例如,下面的语句查询testtable表中姓名为"张三"的nickname字段和email字段. SELECT nickname,email FROM testtable WHERE name='张三' (一) 选择列表 选择列表(select_list)指出所查询列,它可以是一组列名列表.星号.表达式.变量(

ASP精华文摘-001

精华|文摘 转贴-RESPONSE对象(2000.03.22) RESPONSE对象 RESPONSE对象非常有用而且功能丰富.这里我们将要给大家介绍的是其最基本的功能.当然它的所有功能比我们在这里所要介绍的多得多,但我们认为这里所要介绍的20%的内容是你会在80%的时间中都会用到的.我们认为RESPONSE对象主要的功能如下: # RESPONSE.WRITE# RESPONSE.WRITE也可以简写为<%=%>这样的格式简单的嵌入到HTML语言中# RESPONSE.REDIRECT方法可

ASP精华文摘-002

精华|文摘 转贴-给ASP程序多一点点安全感 (2000.03.28) 给ASP程序多一点点安全感 # 使用 On Error Resume Next 这一行语句等于告诉服务器处理程序:"如果我出错了,呵 呵不要管我,继续--".这样做可以使你捕捉到很多可以 捕捉和处理的错误,比那些一出错就把家底拿给人家看的代 码好一些.调试的时候最好不要打开,一面无法发现哪里出 错了. # 服务器IIS设置成出错后显示"处理 URL 时服务器上出错. 请和系统管理员联络."(在应

Tomcat 配置技巧精华详解分析

技巧|精华|详解 1.配置系统管理(Admin Web Application) 大多数商业化的J2EE服务器都提供一个功能强大的管理界面,且大都采用易于理解的Web应用界面.Tomcat按照自己的方式,同样提供一个成熟的管理工具,并且丝毫不逊于那些商业化的竞争对手.Tomcat的Admin Web Application最初在4.1版本时出现,当时的功能包括管理context.data source.user和group等.当然也可以管理像初始化参数,user.group.role的多种数据库

SQL查询语句精华使用简要

精华|语句 一. 简单查询 简单的Transact-SQL查询只包括选择列表.FROM子句和WHERE子句.它们分别说明所查询列.查询的表或视图.以及搜索条件等.例如,下面的语句查询testtable表中姓名为"张三"的nickname字段和email字段.SELECT nickname,emailFROM testtableWHERE name='张三' (一) 选择列表选择列表(select_list)指出所查询列,它可以是一组列名列表.星号.表达式.变量(包括局部变量和全局变量)

网页&amp;#106avascript精华代码集

精华|网页 [1.普通的弹出窗口] 其实代码非常简单: <SCRIPT LANGUAGE=javascript> <!-- window.open ('page.html') --> </SCRIPT> 因为这是一段javascripts代码,所以它们应该放在<SCRIPT LANGUAGE=javascript>标签和</script>之间.<!-- 和 -->是对一些版本低的浏览器起作用,在这些老浏览器中不会将标签中的代码作为文本

学习精华素:Jsp应用技巧小结

js|技巧|精华 1.Jsp页面输入内容显示时tag文字和换行处理 从输入页面的文本输入框输入两行文字: lt;br>huuhh<br>lt;b></b><BR> 确认后转入下一确认页面时,发现换行信息已被自动去除,另外,tag文字被以处理html的方式处理,没有正确显示输入信息. 解决方案 在确认页面对所要显示的信息做如下处理上面的问题就迎刃而解了:假设要显示的信息保存在一个字符串变量comment中,在显示之前对它做如下处理: lt;td bgcolor