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

变量、数组的应用技巧

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

$data = array('a' => 'data1', 'b' => 'data2', 'c' => 'data3');

while(list($subscript, $value) = each($data))

{

echo "$subscript => $value :: ";

echo "$subscript => $value
";

}

reset($data);

foreach($data as $subscript => $value)

{

echo "$subscript => $value :: ";

echo "$subscript => $value
";

}

?>

函数的变量、变量的变量、变量的"指针":

//变量的变量

$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语言中指针相同的功能。但这又不是真正的指针,只能够是这样的去理解。

正则表达式

正则表达式是一个非常大的题目,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代码的解析,都是用正则表达式完成的。

模板

知道了正则表达式的功能,那么就可以知道模板了。什么是模板?举个例子吧?一般写网页用到了后台程序的时候,都是在网页里面插入程序代码。如PHP。这就是HTML和PHP的混写。这样的优点是读取速度快,缺点是如果大家分工合作做网站,那么非程序员就不会改网了。

而用模板,则可以达到分工的最合理化。美工只做页面,程序只写后台,然后再合起来。优秀的Jsp提供了自定义标签的功能很好地完成了模板功能。而主流的PHP如何做到呢?就是利用正则表达式来做到的。可以去网上下载一个PHPLIB,里面的PHP目录下有一个template.inc的源代码文件,那就是用PHP实现模板套用的类。

PHP语法像C,PHP编程语法的三个魅力之处相关推荐

  1. LLVM一些编程语法语义特性

    LLVM一些编程语法语义特性 High Level Structure Module Structure LLVM 程序由Module's组成,每个 's 是输入程序的一个翻译单元.每个模块由函数.全 ...

  2. python解释器在语法上不支持 编程方式-python解释器在语法上不支持什么编程方式_后端开发...

    python程序的两种运行方式是什么_后端开发 python程序的两种运行方式是:1.使用REPL模式运行,REPL模式即读取-计算-打印-循环的模式,借助的工具是IDLE(python集成开发环境) ...

  3. 掌握Python语法篇:核心编程能力基础第一阶段

    就想问一下有多少是看到封面就点进来的,不过不要失望今天依旧会是收获满满的一天,记得点一下最后的五角星,哪怕是起灰也行啊,支持一下辣条哥啊 今天我们继续聊python 之前我们讲了python的输入和输 ...

  4. (二十三)Kotlin简单易学 基础语法-什么是函数式编程

    (二十三)Kotlin简单易学 基础语法-什么是函数式编程 什么是函数式编程 我们一直在学习面向对象编程范式,另一个较知名的编程范式是诞生于20世纪50年代,基于抽象数学的λ演算发展而来的函数编程,尽 ...

  5. Java8函数式编程语法入门

    Java8函数式编程语法入门 Java8中函数式编程语法能够精简代码. 使用Consumer作为示例,它是一个函数式接口,包含一个抽象方法accept,这个方法只有输入而无输出. 现在我们要定义一个C ...

  6. python面向对象编程教程入门_python入门教程09-01 (python语法入门之面向对象编程)...

    分类是人们认识世界的一个很自然的过程,在日常生活中会不自觉地将对象进行进行分类,面向不同的对象处理的方式也不同,下面我们一起来看看吧! 一 对象的概念 "面向对象"的核心是&quo ...

  7. python解释器在语法上不支持_python解释器在语法上不支持编程方式

    python解释器在语法上不支持编程方式 现金是商业银行流动性最强的资产.A:对B:错 下列关于按法的说法,不正确的是A:施力应迅速B:用力方向尽可能垂直于体表C:根据患儿的病情选择不同强度的按压力量 ...

  8. 第二章(1):Python入门:语法基础、面向对象编程和常用库介绍

    第二章(1):Python入门:语法基础.面向对象编程和常用库介绍 目录 第二章(1):Python入门:语法基础.面向对象编程和常用库介绍 1. Python 简介 1.1 Python 是什么? ...

  9. Linux下的ATT语法(即GNU as 汇编语法)入门

    学习这么长时间,一直在C语言这一层面上钻研和打拼,日积月累,很多关于C的疑惑在书本和资料中都难以找到答案.程序员是追求完美的一个种群,其头 脑中哪怕是存在一点点的思维黑洞都会让其坐卧不宁.不久前在it ...

最新文章

  1. ovirt官方安装文档 附录F
  2. 图解梯度下降背后的数学原理
  3. 程序员面试题精选100题(05)-查找最小的k个元素[算法]
  4. 【图网络】如何用Python实现算法:规划图技术(GraphPlanner)
  5. 《A Novel Pipeline Approach for Efficient Big Data Broadcasting》阅读报告
  6. 数据库系统工程师考c语言吗,2019年数据库系统工程师考点:DBMS的基本功能
  7. 使用Jenkins在Azure Web App上进行ASP.NET Core应用程序的持续集成和部署(CI/CD)–第1天
  8. TF-tf.keras.layers.Conv1D
  9. UTF-8 encode decode 集合
  10. 计算机抓取整个屏幕的按键,技术员搞定电脑截全屏快捷键【搞定方法】
  11. 由一道CTF pwn题深入理解libc2.26中的tcache机制
  12. 看了《麦田里的守望者》
  13. Go语学习笔记 - gorm使用 - gorm处理错误 Web框架Gin(十)
  14. 凸包问题--旋转卡壳
  15. 推荐几个阿里,百度大佬的订阅号给大家
  16. 《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》——2.6 类和继承...
  17. 计算机硬件系统中 计算机心脏,办公室常用设备教案——计算机办公设备(计算机硬件及软件系统)02.doc...
  18. 官方资料:Oracle 10g DBA 学习手册(精心整理,申请加精)
  19. Junit 实例精讲基础教程(一) 使用@Ignore注解跳过单元测试方法的执行
  20. html5资源管理器,资源管理器的功能有哪些

热门文章

  1. 李想称十年后要成为汽车界苹果;雅虎邮箱停服;Linux内核欲采用现代C语言标准 | 极客头条...
  2. Objective-C依然占C位,Swift和SwiftUI在iOS 15中的使用情况
  3. 都 2021 了,你还忘记关闭 http body?
  4. 超越 PyTorch,他立志做全球最有影响力的深度学习框架!
  5. 当运行 Linux 内核的机器死机时...
  6. 听说你的模型训练耗时太长?来昇腾开发者沙龙找解决方案
  7. 新基建东风下,开发者这样抓住工业互联网风口!
  8. 华为最新 5G 折叠机 MateXs 发布,起售价 19000 多元
  9. 漫话:是时候说说到底什么是 IPv4 和 IPv6 了!
  10. 一文读懂平衡二叉树 | 技术头条