浅谈PHP语法(1)


Posted in PHP onOctober 09, 2006

作者:华红狼
正文:
  《谈谈HTML语法》一文,我已经介绍了基本的HTML语法。可以编出一个静态的Web页,可动态交互信息是很重要的。如一些网站的会员制??的会员注册、登录都需后端程序的运行。很多网站所用的CGI程序主要用Perl、ASP、Java、PHP编写,而我们所要用的就是PHP。它是完全免??费的,这就要感谢那些默默无闻的编程人员了。PHP的结构类似于C语言,这可是应证了C语言里提的“一处学习,到处编程”。相信学过C??语言的人可很容易上手PHP的。还是先介绍一些PHP语法吧。本文适合初学者学习。
  PHP与C语言也有一些差别,或者说在某种程度上可能比C语言更为灵活。在C语言中,变量要先定义,才能使用。而PHP中变量则不需??事先定义,直接使用即可。对于变量的类型,在赋值时自动生成。PHP变量的类型分为:整数(int)、双精度型(double)、字符串(string)、??数组(array)、对象(object)。
  整数大小超出其范围后,自动转化为双精度型,其值范围如下表:
┌─────┬─────┬──────┬────────────┐
│ 声明类型 │长度(位)│长度(字节)│    值的范围     │
├─────┼─────┼──────┼────────────┤
│  int  │  32  │  4   │-2147483647~2147483647 │
├─────┼─────┼──────┼────────────┤
│  double │  32  │  4   │ 1.7E-308~1.7E+308   │
└─────┴─────┴──────┴────────────┘
  字符串,通常用""(双引号)表示。也可用''(单引号)表示,如下:
  $a="abc";
  $b="abc$a";
  $c='abc$a';
  $d="\"cde\"";
  $e='"cde"';
  PHP中的各种变量均在变量名前加上“$”以示区别。
  注意,$b的内容为abcabc,$c的内容为abc$a,$d的内容为"cde",$e的内容也为"cde"。可以看出,双引号中的内容中的变量名会被替代??,而单引号中的则不会。双引号中的内容需转义,如$应用\$表示,而单引号中的则不用。
  PHP中的数组语法为:
  数组名[索引]
  索引可为数字,也可为文字。但不建议使用文字,因为意义不大。对于数组也比其它语言灵活如下例:
<?php
$names[]=100;
$names[]=200;
$names[]="hi,how are you";
$names[]=98.5;
$names[]=1.7E+23;
$num=count($names);
for ($i=0;$i<=$num;$i++){
echo "$names[$i]<br>";
        }
?>
  可看出,一个数组中的元素不一定为同一类型,这就是PHP数组的“活”处。
  使用对象,可使编程者更易于维护,也使程序更为易读。较其它语言,PHP可简单多了,它只有类别(class)、方法(method)、属性(attr??ibute)及扩展(extendsions)等。

  前文谈的只是PHP的数据类型,所谓“磨刀不误砍柴功”,打好PHP基础才能更好地学好PHP编程。
  PHP中的表达式与运算符与C语言的差别不大,现将其列表于下:
┌─────┬─────────┬──────────┐
│ 符 号 │   运算符   │  范 例     │
├─────┼─────────┼──────────┤
│  +   │   加法    │  $a+$b      │
├─────┼─────────┼──────────┤
│  -   │   减法    │  $a-$b      │
├─────┼─────────┼──────────┤
│  *   │   乘法    │  $a*$b      │
├─────┼─────────┼──────────┤
│  /   │   除法    │  $a/$b      │
├─────┼─────────┼──────────┤
│  %   │   取余数   │  $a%$b      │
├─────┼─────────┼──────────┤
│  ++   │   递增    │ $a++或++$a    │
├─────┼─────────┼──────────┤
│  --   │   递减    │ $a--或--$a    │
├─────┼─────────┼──────────┤
│  ==   │   等于    │ $a==10       │
├─────┼─────────┼──────────┤
│  ===  │   绝等于   │ $a===10      │
├─────┼─────────┼──────────┤
│  !=   │   不等于   │ $a!=10       │
├─────┼─────────┼──────────┤
│  <   │   小于    │ $a<9        │
├─────┼─────────┼──────────┤
│  >   │   大于    │ $a>8        │
├─────┼─────────┼──────────┤
│  <=   │  小于等于   │ $a<=10       │
├─────┼─────────┼──────────┤
│  >=   │  大于等于   │ $a>=1       │
├─────┼─────────┼──────────┤
│  =   │ 相等赋值运算符 │ $a=0        │
├─────┼─────────┼──────────┤
│  +=   │ 加法指定运算符 │ $a+=5       │
├─────┼─────────┼──────────┤
│  -=   │ 减法指定运算符 │ $a-=1       │
├─────┼─────────┼──────────┤
│  *=   │ 乘法指定运算符 │ $a*=2       │
├─────┼─────────┼──────────┤
│  /=   │ 除法指定运算符 │ $a/=5       │
├─────┼─────────┼──────────┤
│  %=   │ 余数指定运算符 │ $a%=7       │
├─────┼─────────┼──────────┤
│  .=   │ 字符串指定运算符│ $a.="hello"    │
├─────┼─────────┼──────────┤
│  &   │ 与       │ $a&$b       │
├─────┼─────────┼──────────┤
│  |   │ 或       │ $a|$b       │
├─────┼─────────┼──────────┤
│  ^   │ Xor       │ $a^$b       │
├─────┼─────────┼──────────┤
│  ~   │ 非        │~$a(取1的补码   )│
├─────┼─────────┼──────────┤
│  <<   │ 向左移位     │ $a<<$b       │
├─────┼─────────┼──────────┤
│  >>   │ 向右移位     │ $a>>$b       │
├─────┼─────────┼──────────┤
│and或&&  │ 与       │$a and $b或$a&&$b  │
├─────┼─────────┼──────────┤
│or或||  │ 或       │$a or $b或$a||$b  │
├─────┼─────────┼──────────┤
│xor    │ Xor       │   $a xor $b   │
├─────┼─────────┼──────────┤
│  !   │ 非       │    !$a     │
└─────┴─────────┴──────────┘
┌───┬────────────┐
│符号 │ 意义说明       │
├───┼────────────┤
│ $  │变量          │
├───┼────────────┤
│ &  │变量的指针(加在变量前)│
├───┼────────────┤
│->  │对象的方法或属性    │
├───┼────────────┤
│=>  │数组的元素值      │
├───┼────────────┤
│? :  │三元运算符       │
└───┴────────────┘
  同C语言的比较一下吧。其中只是多了个“.”这一个运算符。它的作用是使两个字符串相连,如下例,显示结果为hello,my baby.
<?php
$a="hello,";
$b="my baby.";
echo $a.$b;
?>
  还有一个符号也使PHP的功能强大了。这就是“$”。它是用于变量之前的,表示这是个变量,如$A,$b等。那它的作用又强在哪呢?这??就是变量的变量。
  如下例:
  <?php
$a="go";
$$a="here";
echo $a;
echo $$a;
echo $go;
?>
  显示结果为:
go
here
here
  其实,在一个变量前加一个“$”,就是把这个变量的内容作为了一个新的变量名。这是PHP所特有的,有时可使程序简单化。
--(待续)--

PHP 相关文章推荐
通过ODBC连接的SQL SERVER实例
Oct 09 PHP
删除及到期域名的查看(抢域名必备哦)
May 14 PHP
php面向对象全攻略 (十) final static const关键字的使用
Sep 30 PHP
win2003服务器使用WPS的COM组件的一些问题解决方法
Jan 11 PHP
apache mysql php 源码编译使用方法
May 03 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十五)
Jun 30 PHP
php实现的Timer页面运行时间监测类
Sep 24 PHP
PHP将身份证正反面两张照片合成一张图片的代码
Apr 08 PHP
PHP面向对象之事务脚本模式(详解)
Jun 07 PHP
thinkPHP5分页功能实现方法分析
Oct 25 PHP
PHP cookie,session的使用与用户自动登录功能实现方法分析
Jun 05 PHP
常见的5个PHP编码小陋习以及优化实例讲解
Feb 27 PHP
PHP 和 MySQL 基础教程(一)
Oct 09 #PHP
用文本作数据处理
Oct 09 #PHP
在线竞拍系统的PHP实现框架(二)
Oct 09 #PHP
php中的时间处理
Oct 09 #PHP
用php写的serv-u的web申请账号的程序
Oct 09 #PHP
PHP系统流量分析的程序
Oct 09 #PHP
PHP的栏目导航程序
Oct 09 #PHP
You might like
PHP 和 HTML
2006/10/09 PHP
wiki-shan写的php在线加密的解密程序
2008/09/07 PHP
PHP include_path设置技巧分享
2011/07/03 PHP
php类中private属性继承问题分析
2012/11/01 PHP
基于PHP Socket配置以及实例的详细介绍
2013/06/13 PHP
PHP程序员必须清楚的问题汇总
2014/12/18 PHP
php自动提交表单的方法(基于fsockopen与curl)
2016/05/09 PHP
Laravel学习教程之从入口到输出过程详解
2017/08/27 PHP
实现复选框全选/全不选切换
2006/12/23 Javascript
获取网站跟路径的javascript代码(站点及虚拟目录)
2009/10/20 Javascript
javascript 得到变量类型的函数
2010/05/19 Javascript
MultiSelect左右选择控件的设计与实现介绍
2013/06/08 Javascript
JS获取时间的方法
2015/01/21 Javascript
如何实现移动端浏览器不显示 pc 端的广告
2015/10/15 Javascript
JavaScript 轮播图和自定义滚动条配合鼠标滚轮分享代码贴
2016/10/28 Javascript
AngularJS变量及过滤器Filter用法分析
2016/11/22 Javascript
Bootstrap modal使用及点击外部不消失的解决方法
2016/12/13 Javascript
vue+vuecli+webpack中使用mockjs模拟后端数据的示例
2017/10/24 Javascript
Vue.js分页组件实现:diVuePagination的使用详解
2018/01/10 Javascript
vue数据控制视图源码解析
2018/03/28 Javascript
nuxt踩坑之Vuex状态树的模块方式使用详解
2019/09/06 Javascript
JavaScript进制转换实现方法解析
2020/01/18 Javascript
vue 动态添加的路由页面刷新时失效的原因及解决方案
2021/02/26 Vue.js
[05:20]卡尔工作室_DOTA2新手教学_DOTA2超强新手功能
2013/04/22 DOTA
[01:01:04]2018DOTA2亚洲邀请赛 4.5 淘汰赛 OpTic vs TNC 第一场
2018/04/06 DOTA
Python 创建子进程模块subprocess详解
2015/04/08 Python
spark: RDD与DataFrame之间的相互转换方法
2018/06/07 Python
python实现Zabbix-API监控
2018/09/17 Python
Python实现将Excel转换成为image的方法
2018/10/23 Python
对YOLOv3模型调用时候的python接口详解
2019/08/26 Python
英国和国际包裹递送:ParcelCompare
2019/08/26 全球购物
远程学习的教学用品和家庭学习资源:Really Good Stuff
2020/04/27 全球购物
售后服务经理岗位职责
2014/02/25 职场文书
亚布力滑雪场导游词
2015/02/09 职场文书
护士辞职信怎么写
2015/02/27 职场文书
Python实现聚类K-means算法详解
2022/07/15 Python