我发现很多的PHP程序员尤其是学习还不是很久的都不知道PHP的精华所在Perl当年如何在商界出名?其强大的正则表达式而PHP呢?他是一门从Unix下发展起来的语言当然也就继承了Perl的很多特点同时C的优点都有快速简洁明了尤其是C程序员PHP是至爱我就是深爱着PHP(都忘了女友了:))这里我想来写一篇PHP的变量数组应用技巧和PHP的正则表达式PHP的模板应用以后有时间再写PHP与COMPHP与XML的完全结合
变量数组的应用技巧
()很多人用得不多的数组函数foreachlisteach分别举几个例子应该就能知道了例
<?php
$data = array(a => data b => data c => data);
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>;
}
()函数的变量变量的变量变量的指针看下例
<?php
//变量的变量
$var = this is a var;
$varname = var;
echo $$varname;
//函数的变量
function fun($str) {
echo $str;
}
$funname = fun;
$funname(This is a function !);
?>
变量的指针这个指针加上了双引号表明他不是真正的指针看看下例
<?php
function($a) {
$a ++;
}
$c = ;
function($c);
echo $c; //$c仍为
function(&$a) {
$a ++;
}
$c = ;
echo $c; //$c为
?>
之所以称其为指针就是因为他有了和C语言中指针相同的功能但这又不是真正的指针只能够是这样的去理解
正则表达式
正则表达式是一个非常大的题目Perl的正则表达式的强大是闻了名的而PHP也不弱他继承了Perl的正则表达式法则还有自己的一套法则这里只说PHP自己的正则表达式
正则表达式是最基本的元素简单地说就是一套规则用于去判定其它的元素是不是符合自身的规则或者说是不是有相同的特征描述
正则表达式的开始符^结尾符$这两个符号间的是匹配的元素如检查一个电话号码是不是打往北京的号用正则表达式表示就是^$只要前位区号是就是北京的号后面的电话号码就不用管了然后用正则表达式匹配函数ereg来判断例
<?php
$pattern = ^$;
$phone = ;
if(ereg($pattern $phone))
echo 打往北京的号;
else
echo 不是打往北京的号;
?>
这就是正则表达式北京的电话都是位数字的那我要知道这个号码是不是正确了?假如他按了位号呢?如果判断正误?这就要用到正则表达式的字符簇那么上例的正则表达式就要这样写^[]{}$就能同时判断号码是不是符合规则正则表达式有很多的应用像LBBVBB论坛在发贴时的所谓VBB代码LBB代码的解析都是用正则表达式完成的
模板
知道了正则表达式的功能那么就可以知道模板了什么是模板?举个例子吧?一般写网页用到了后台程序的时候都是在网页里面插入程序代码如PHP这就是HTML和PHP的混写这样的优点是读取速度快缺点是如果大家分工合作做网站那么非程序员就不会改网了
而用模板则可以达到分工的最合理化美工只做页面程序只写后台然后再合起来优秀的Jsp提供了自定义标签的功能很好地完成了模板功能而主流的PHP如何做到呢?就是利用正则表达式来做到的可以去网上下载一个PHPLIB里面的PHP目录下有一个templateinc的源代码文件那就是用PHP实现模板套用的类