说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

PHP语法基础 -PHP初学入门教程4

HTML文档下载 WORD文档下载 PDF文档下载
PHP数据类型,流程控制等语法基础。

 

4.1 数据类型

 

  PHP支持整数、浮点数、字符串、数组和对象。变量类型通常不由程序员决定而由PHP运行过程决定(真是好的解脱!)。当然,如果你喜欢的话,你也可以使用cast或者函数settype()将某种类型的变量转换成指定的类型。

 

数值

 

  数值类型可以是整数或是浮点数。你可以用以下的语句来为一个数值赋值:

 

$a = 1234; # 十进制数$a = -123; # 负数$a = 0123; # 八进制数 (等于十进制数的83)$a = 0x12; # 十六进制数(等于十进制数的18)$a = 1.234; # 浮点数"双精度数"$a = 1.2e3; # 双精度数的指数形式
字符串
  字符串可以由单引号或双引号引出的字段定义。注意不同的是被单引号引出的字符串是以字面定义的,而双引号引出的字符串可以被扩展。而且,在双引号字符串中可以使用反斜杠()在字符串中加入转义序列和转换字符。举例如下:
$first = 'Hello';$second = "World";$full1 = "$first $second"; # 产生 Hello World$full2 = '$first $second';# 产生 $first $second$full3="01DC studio,." 2000 copyright." " ;
  请注意最后一行,如果需要在字符串中使用双引号,可以使用反斜杠字符,象该行语句所示。这里的的反斜杠用来使双引号的功能改变。   可以将字符和数字利用运算符号连接起来。字符被转化成数字,利用其最初位置。在PHP手册中有详细的例子。 
数组与哈希表
  数组与哈希表以同样的方法被支持。怎样运用取决于你怎样定义它们。你可以用list()或者array()来定义它们,也可以直接为数组赋值。数组的索引从0开始。虽然我在这里没有说明,但是你一样可以轻易的使用多维数组。
// 一个包含两个元素的数组$a[0] = "first"; $a[1] = "second"; $a[] = "third"; // 添加数组元素的简单方法// 现在$a[2]被赋值为"third"echo count($a); // 打印出3,因为该数组有3个元素// 用一个语句定义一个数组并赋值$myphonebook = array ("sbabu" => "5348","keith" => "4829","carole" => "4533");// 噢,忘了教长吧,让我们添加一个元素$myphonebook["dean"] = "5397";// 你定义的carale元素错了,让我们更正它$myphonebook["carole"] => "4522"// 我还没有告诉你怎样使用数组的相似支持方式吗?让我们看一看echo "$myphonebook[0]"; // sbabuecho "$myphonebook[1]"; // 5348 
其他一些对数组或哈希表有用的函数包括sort(),next(),prev()和each()。
对象
  使用new语句产生一个对象: 
class foo {function do_foo () { echo "Doing foo."; }}$bar = new foo;$bar->do_foo();
改变变量类型
  在PHP手册中提到:"PHP不支持(也不需要)直接在声明变量时定义变量类型;变量类型将根据其被应用的情况决定。如果你为变量var赋值为一个字符串,那么它变成了一个字符串。如果你又为它赋了整数值,那么它就变成了整数。"
$foo = "0"; // $foo是字符串(ASCII 48)$foo++; // $foo是字符串"1" (ASCII 49)$foo += 1; // $foo现在是整数(2)$foo = $foo + 1.3; // $foo是一个双精度数(3.3)$foo = 5 + "10 Little Piggies"; // $foo是一个整数(15)$foo = 5 + "10 Small Pigs"; // $foo是一个整数(15)
如果想要强行转换变量类型,可以使用与C语言相同的函数settype()。
4.2 变量与常量
  可能你已经注意到,变量都有一个美元符号($)的前缀。所有变量都是局部变量,为了使得定义的函数中可以使用外部变量,使用global语句。而你要将该变量的作用范围限制在该函数之内,使用static语句。
$g_var = 1 ; // 全局范围function test() {global $g_var; // 这样就可以声明全局变量了}
  更先进一些的是变量的变量表示。请参考PHP手册。这在有时会显得很有用。
  PHP内置了许多已定义的变量。你也可以用define函数定义你自己的常量,比如define("CONSTANT","value")。
4.3 运算符
  PHP具有C,C++和Java中的通常见到的运算符。这些运算符的优先权也是一致的。赋值同样使用"="。
算术和字符
  以下只有一种运算符是有关字符的:
$a + $b :加
$a - $b :减
$a * $b :乘
$a / $b :除
$a % $b :取模(余数)
$a . $b :字符串连接
逻辑和比较
逻辑运算符有:
$a || $b :或
$a or $b :或
$a && $b :与
$a and $b :与
$a xor $b :异或 (当$a或$b为true时为true,两者一样时为false) 
! $a :非
比较运算符有:
$a == $b :相等
$a != $b :不等
$a < $b :小于
$a <= $b :小于等于
$a > $b :大于
$a >= $b :大于等于
与C一样PHP也有三重运算符(?:)。位操作符在PHP同样存在。
优先权
就和C以及Java一样!
4.4 控制流程结构
  PHP有着与C一样的流程控制。我将在下面大概介绍。
if, else, elseif, if(): endif

if (表达式一) 
{
. . .
elseif (表达式二) 
{
. . .
else 
{
. . .
}
// 或者像Python一样
if (表达式一) :
. . .
. . .
elseif (表达式二) :
. . .
else :
. . .
endif ;
Loops. while, do..while, for 
while (表达式) 
{
. . .
}
do 
{
. . .
while (表达式);
for (表达式一; 表达式二; 表达式三) 
{
. . .
}
//或者像Python一样
while (expr) :
. . .
endwhile ;
switch
switch是对多重if-elseif-else结构的最好的替换:
switch ($i) 
{
case 0:
print "i equals 0";
case 1:
print "i equals 1";
case 2:
print "i equals 2";
}
break, continue
break中断当前的循环控制结构。
continue被用来跳出剩下的当前循环并继续执行下一次循环。 require, include
  就像C中的#include预处理一样。你在require中指定的那个文件将替代其在主文件中的位置。在有条件的引用文件时,可以使用include()。这样就使得你可以将复杂的PHP文件分割成多个文件并且在不同需要时分别引用它们。
4.5 函数
  你可以像以下的例子一样定义自己的函数。函数的返回值可以是任何数据类型:
function foo (变量名一, 变量名二, . . . , 变量名n) {echo "Example function.n";return $retval;}
所有PHP代码都可以出现在函数定义中,甚至包括对其他函数和类的定义。函数必须在引用之前定义。
4.6 类
  利用类模型建立类。可以参考PHP手册中对类的详细解释。
class Employee {var $empno; // 员工人数var $empnm; // 员工姓名function add_employee($in_num, $in_name){$this->empno = $in_num;$this->empnm = $in_name;}function show() {echo "$this->empno, $this->empnm";return;}function changenm($in_name){$this->empnm = $in_name;}}$sbabu = new Employee;$sbabu->add_employee(10,"sbabu");$sbabu->changenm("babu");$sbabu->show(); 

 

 

史上最牛独立开发者:花20美元狂赚100万美元 Twitter VS. Instagram:照片分享大战爆发 第二届“龙芯杯”中国开源软件设计大赛圆满落幕 TUP Masters第六期实录:Jeffrey Richter讲解Win8应用开发与.NET4.5 [简讯]Bootstrap 2.2.2发布 官博宣布新特性 我们正处于API的黄金时代吗? 敏捷开发的26条至理名言 12月10日:1815年首位程序员Augusta Ada出生 TOP30+应用排行榜:十一月国内外综合榜单 抱大腿:Square礼品卡服务进驻Passbook 科技创新剑指开源产业 “龙芯杯”破题自主研发 25GPU的Linux集群6小时内破解标准Windows密码 Lady Gaga与大数据的“火花” 手势才是王道:3款应用捕获3个设计灵感 YouTube的挑战者 JustinTV教你如何打造实时视频网站 黑客挟持160万用户密码 抗议联合国监管互联网 Twitter面对危机火速上线照片滤镜产品 Nike推创业孵化器:每个参与团队获2万美金 傲游发布云浏览器 支持跨终端数据同步 12个git实战建议和技巧 用友UAP产品线总设计师史周军访谈录 IE10新功能解析 支持Media Query(图) 单页Web应用或引领下一代Web新趋势? [CTO俱乐部第89期]新时代的前端开发 [多图]160台Mac mini打造的数据中心机架 是谁动了我的CPU! 欧朋CEO:GPU加速是手机浏览器的新趋势 TOP30专访:Splashtop研发中心总经理Alex Xu 2012Q3国内App开发者半数以上入不敷出 细微之处见真章 为什么要在try-catch-finally里加大括号 独立开发者:面对攻击就要“脸皮厚+更自豪” Jbuilder5.0 注册码,那个想要,我这儿有!今天刚搞到! 高手再哪里,网络程序!!!请赐教,高分!!! 如何在vc中静态调用dl中的函数? 循环里的变量为什么读不出? ADO的问题,请指教 用Delphi6导入VB做的ActiveX控件,为何不能生成VCL类?怎末办? 我给你出个谜语,你帮我解答个问题? 关于SQL SERVER的图片问题 读取二进制注册表的问题! 请问编写AWT的面向对象JAVA程序用哪个开发软件比较好? 关于手机铃声图片的下载 为何去不到记录值? 软件包 给点建议,做什么都打不起精神.学习也学习不进去,我看我要完蛋了都22了什么都不会 菜鸟问题:编译报错(WINDOWS.H already included),急! 数据绑定问题 关于组件ProgID的疑惑: RealPlayer的最新版本是什么? 哪里可以下载? 请教调试问题? 急!我的weblogic的控制台怎么不让进行create操作? 好郁悶啊﹐大家幫幫我﹗ jsp中的select VC中如何打包 在文本中输入,在下拉框中动态显示,大家多帮忙! 寻找算法!! 参与有分了!! 各位大哥,有关软件测试的好书或好的网站能给小妹介绍一下么? 谢谢各位先!! 学习打不起精神.也不刻苦.天天玩,我看我要完蛋了. 软件发布,KindDiary日记软件 PowerBuilder 中Datawindow和Report的本质区别是什么,什么时候该用Report? MEMO字段在SQLSERVER里应为什么类型? 在vc++中client和server端的socket连接断掉了,server端如何能够立刻就知道,而不需server端send的时侯才发觉。 学习c++,到底要看那些方面的书?我现在在看vc++技术内幕,essential c++,effective c++,大家说还应该看什么书? 在VC下使用ODBC绑定时间数据时的问题的解决! 如何动态更改主窗口的菜单? asp编程主题显示,若是汉字则为前15个字,若是字符则前25个,怎么编码?谢谢! 用VBA如何去读服务器上的DOC文档? 一个小而急手的问题 请问哪里有检测IP包的软件? 从网上邻居连接nt时在小窗口中输入用户名和口令的过程如何在程序中实现? 请问:wise的注册吗怎么设置?偶在注册码是不是在第四步--〉对话框--〉注册信息/序列号里,添加了一个编辑文本,但里面就不知道该怎么版了 //牛虻 java applet怎样存取本地文件?我没有更多的分,但我尽己所能 请问:怎么用java执行web页中的javascript脚本? 请问:如何给分?急! 调用动态链结库的错误(BCB调VC的动态链结库)! 兄弟们,ExpressBars 4.1 那里有下的。 请问连接adoconnection的问题? 请大家谈谈自己的学习经验!!现在很多技术,很多书,有些人说:你应该看什么什么书,说了一大堆。我都晕了,不知道自己应该掌握什么? KindDiary日记软件 我想买一块视频采集卡,可否给点意见!!!!! 如何获得对话框中莫个控件地句柄 奇文共欣赏,帐号封存,6个月后再见! 车辆时速跑100码的时候是每小时跑100公里吗?能顺便说说发动机转速表是怎么回事吗? 36、52、48 它们的互质数是什么?请说明基本原理及其公式谢谢 一寸等于多少cm 汽车时速100码相当每小时跑多少公里 36、25、48 它们的互质数是什么?请说明基本原理及其公式谢谢 0.5mm等于多少cm 汽车以100码的速度撞了狗会怎么样 一项工程,甲队单独修要20天,乙队单独修要30天.如果两队合修5天,还剩下工程的几分之几? 单独修一条路,甲工程队20天可以修完,乙工程队10天修全长的三分之二.两队合修多少天能修完? 肩宽1尺1,胸围2尺8分别是多少厘米? 步进电机的转动惯量如何计算?想用步进电机带动一个重量为2吨的圆形零件旋转,需要分度,启动和停止频繁,不知道需要选用多大的步进电机,感激!旋转速度不需要太高 但是电机不能出现丢步 修一条路,由甲工程队单独做需40天完成,由乙工程队单独做需60天完成,如果甲先做5天后,乙队加入一起做,还要几天才能完成? 肩宽1尺3,腰围2尺2,臀部2尺8,以上数据等于CM啊 关于步进电机的转矩,转动惯量的选择:通过步进电机驱动滚轴,绕收已经脏的滤纸,如何选择电机?机械结构如图所示:①是干净的滤纸直径80mm,宽250mm,重量很轻,大概一两斤.②是通过步进电机带动 修一条路,由甲工程队单独做需要40天完成,由乙工程队单独做需要60天完成,甲乙和修多少天还剩下这条路的1/3 蓝鲸每小时可以游60千米,比海豚的速度慢1/7,海豚每小时可以游多少千米?(用方程) 求piece by piece-Feeder的中文歌词是Feeder的 不要搞错 求中文歌词Sitting on a corner streetChildren playing at my feetSee the smiles on ice cream facesFeel myself begin to sinkAs the wind blows through my skinLeaves me open to temptati 已知,1nm=10的负九次方m现有一个156mm³的空间,可以存放多少个1nm³的微粒 六年应用题:蓝鲸每小时可以游60千米,比海豚的速度慢7分一,海豚每小时可以有多少千米? three-by-five-inch什么意思 一种花岗石,每立方中13分之24吨,20分之13立方米重多少吨?一块长方形菜地,长20M,宽是长的5分之4,宽( )M,面积是( )平方米? 蓝鲸每小时可以游60千米,比海豚的速度慢1/7,海豚每小时可以游多少千米?(用方程) 一个长方体水池,长5米、宽4米、深3米.在水池里放入36立方米的水,水深米. 一立方米的花岗石有好重? 蓝鲸每小时游动的速度是海豚的七分之六正好比海豚慢10千米,蓝鲸和海豚每小时各可以游多少千米?用解方程 2尺3是多少cm 请问一立方米花岗岩有多重? 3.504 inch OD x 4.0 inch 2尺4等于多少CM? 60000平方米等于几公顷 一条公路15天修完,平均每天修这条公路的几分只几?一个星期修这条公路的几分之几? 2尺等于多少cm 一项工程,甲单独做8天完成,乙单独做10天完成,甲、乙一起做这项工程的4分之3,需要几天? 这条题怎么样计算:蓝鲸每小时可以游60千米,比海豚的速度慢百分之十五,海豚每小时可以游多少千米? 2尺3换算成CM是多少啊 甲、乙两个工程队共同完成一项工程需用10天,现由甲队先做3天,再由乙队接着做4天,共完成这项工程的八...甲、乙两个工程队共同完成一项工程需用10天,现由甲队先做3天,再由乙队接着做4天, 一尺,一拳,一寸里具体的数字概念 就是问一尺是多少CM? 3x+2x=145 怎么计算?请说明基本原理及其公式好吗谢谢 问甲乙两个工程队共同完成一项工程需用10天,现由甲对先做3天,再由乙对接着做4天,共完成这项工程的3/8, 挖一个长方体形状的水池,水池长为10米,宽为6米,深2.5米,水池占地多少平方米?能盛水多少立方米 一个长方体水池中长是8米,宽5米,池中有水60立方米.池中水深多少米? 一项工程,甲队独做10天完成,乙队独做8天完成,甲、乙合作,多少天能完成这项工程的4分之3. 一个长方体形状的水池,长20米,宽15米,深2米.这个水池最多能蓄水多少立方米的水 一项工程,甲队单独做需要6天完成,已队单独做需要8天完成,如果两队合作3天后,剩下的由已队单独做...快一项工程,甲队单独做需要6天完成,已队单独做需要8天完成,如果两队合作3天后,剩下的 甲,乙两个工程队共同完成一项工程需用10天,现由甲队先做3天,再由乙队接着做4天,共共同完成这项工程的3/8,问甲,乙两队独立完成这项工程需要多少天?最好过程写仔细点哈,不是共同接 挖一个长10米、宽8.5米的长方体形状的水池.挖出153立方米的土,这个水池挖了多深? kgf/cm =9.8N/cmkgf/cm或者N/cm是什么单位,是否还有别的单位能表示N/cm 或者 kgf/cm 力矩的单位是什么? 一个长方体形状的水池,长5米、宽2米、深1.5米.在池中注水9吨(1立方米水重1.5吨),池内水深多少米? 一个长方体水池,底面是边长为20米的正方形,深4米,现在水池中盛水只有2.5米这时水池中的水有多少立方米 力矩怎么解释 用单位怎么来表示用数字怎么来体现 5feet 8 inch 是多高? 1英寸磅等于多少牛米 力矩的单位是 英语翻译Usinga full 8 1/2- by 11-inch page,draw two concentric circles (a circle within acircle) – the inner circle representing the core of your self-concept and theouter circle the more flexible,changeable selves.Within the inner circle,list 1pm等于多少cm?1nm等于多少cm? 0.4m=(?)cm 修一条路,甲独修20天完成,乙独修要45天完成,两队合修8天后,还剩这条路的几分之几没有修? 父亲和儿子今年的年龄分别是36岁和8岁,几年后父亲的年龄是儿子的3倍?请说明基本原理及其公式好吗谢谢 立体单位进率 4M等于多少CM
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn