PHP语法像C,PHP编程语法的三个魅力之处
我发现很多的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编程语法的三个魅力之处相关推荐
- LLVM一些编程语法语义特性
LLVM一些编程语法语义特性 High Level Structure Module Structure LLVM 程序由Module's组成,每个 's 是输入程序的一个翻译单元.每个模块由函数.全 ...
- python解释器在语法上不支持 编程方式-python解释器在语法上不支持什么编程方式_后端开发...
python程序的两种运行方式是什么_后端开发 python程序的两种运行方式是:1.使用REPL模式运行,REPL模式即读取-计算-打印-循环的模式,借助的工具是IDLE(python集成开发环境) ...
- 掌握Python语法篇:核心编程能力基础第一阶段
就想问一下有多少是看到封面就点进来的,不过不要失望今天依旧会是收获满满的一天,记得点一下最后的五角星,哪怕是起灰也行啊,支持一下辣条哥啊 今天我们继续聊python 之前我们讲了python的输入和输 ...
- (二十三)Kotlin简单易学 基础语法-什么是函数式编程
(二十三)Kotlin简单易学 基础语法-什么是函数式编程 什么是函数式编程 我们一直在学习面向对象编程范式,另一个较知名的编程范式是诞生于20世纪50年代,基于抽象数学的λ演算发展而来的函数编程,尽 ...
- Java8函数式编程语法入门
Java8函数式编程语法入门 Java8中函数式编程语法能够精简代码. 使用Consumer作为示例,它是一个函数式接口,包含一个抽象方法accept,这个方法只有输入而无输出. 现在我们要定义一个C ...
- python面向对象编程教程入门_python入门教程09-01 (python语法入门之面向对象编程)...
分类是人们认识世界的一个很自然的过程,在日常生活中会不自觉地将对象进行进行分类,面向不同的对象处理的方式也不同,下面我们一起来看看吧! 一 对象的概念 "面向对象"的核心是&quo ...
- python解释器在语法上不支持_python解释器在语法上不支持编程方式
python解释器在语法上不支持编程方式 现金是商业银行流动性最强的资产.A:对B:错 下列关于按法的说法,不正确的是A:施力应迅速B:用力方向尽可能垂直于体表C:根据患儿的病情选择不同强度的按压力量 ...
- 第二章(1):Python入门:语法基础、面向对象编程和常用库介绍
第二章(1):Python入门:语法基础.面向对象编程和常用库介绍 目录 第二章(1):Python入门:语法基础.面向对象编程和常用库介绍 1. Python 简介 1.1 Python 是什么? ...
- Linux下的ATT语法(即GNU as 汇编语法)入门
学习这么长时间,一直在C语言这一层面上钻研和打拼,日积月累,很多关于C的疑惑在书本和资料中都难以找到答案.程序员是追求完美的一个种群,其头 脑中哪怕是存在一点点的思维黑洞都会让其坐卧不宁.不久前在it ...
最新文章
- ovirt官方安装文档 附录F
- 图解梯度下降背后的数学原理
- 程序员面试题精选100题(05)-查找最小的k个元素[算法]
- 【图网络】如何用Python实现算法:规划图技术(GraphPlanner)
- 《A Novel Pipeline Approach for Efficient Big Data Broadcasting》阅读报告
- 数据库系统工程师考c语言吗,2019年数据库系统工程师考点:DBMS的基本功能
- 使用Jenkins在Azure Web App上进行ASP.NET Core应用程序的持续集成和部署(CI/CD)–第1天
- TF-tf.keras.layers.Conv1D
- UTF-8 encode decode 集合
- 计算机抓取整个屏幕的按键,技术员搞定电脑截全屏快捷键【搞定方法】
- 由一道CTF pwn题深入理解libc2.26中的tcache机制
- 看了《麦田里的守望者》
- Go语学习笔记 - gorm使用 - gorm处理错误 Web框架Gin(十)
- 凸包问题--旋转卡壳
- 推荐几个阿里,百度大佬的订阅号给大家
- 《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》——2.6 类和继承...
- 计算机硬件系统中 计算机心脏,办公室常用设备教案——计算机办公设备(计算机硬件及软件系统)02.doc...
- 官方资料:Oracle 10g DBA 学习手册(精心整理,申请加精)
- Junit 实例精讲基础教程(一) 使用@Ignore注解跳过单元测试方法的执行
- html5资源管理器,资源管理器的功能有哪些
热门文章
- 李想称十年后要成为汽车界苹果;雅虎邮箱停服;Linux内核欲采用现代C语言标准 | 极客头条...
- Objective-C依然占C位,Swift和SwiftUI在iOS 15中的使用情况
- 都 2021 了,你还忘记关闭 http body?
- 超越 PyTorch,他立志做全球最有影响力的深度学习框架!
- 当运行 Linux 内核的机器死机时...
- 听说你的模型训练耗时太长?来昇腾开发者沙龙找解决方案
- 新基建东风下,开发者这样抓住工业互联网风口!
- 华为最新 5G 折叠机 MateXs 发布,起售价 19000 多元
- 漫话:是时候说说到底什么是 IPv4 和 IPv6 了!
- 一文读懂平衡二叉树 | 技术头条