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

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(); 

 

 

怎样成为优秀的产品经理? Google发布新版AdMob 将在更多市场推出 触控ARM“结连理”,Cocos2d-x性能提速70% Per Brashers:智能、能耗、安全将是未来数据中心发展的关键! 梁博:OpenStack已在IaaS层面扮演重要角色 云计算三大主流阵营的竞争与合作 如何使用15美元每月的机器实现百万文档检索 外媒路透社:小米本周四发布首款平板电脑,八九不离十 移动支付帝国战:谷歌、苹果、Facebook、亚马逊孰胜孰负? 十大响应式Web设计框架 Giraph助力Facebook打造亿万用户间关系链 跪求出名:让应用在App Store中出人头地的12种方式 束文辉:Intel如何玩转OpenStack Facebook社交业务进军中国内地,困难重重 《近匠》透镜:代码级定位,让App性能监控更从容! 联想移动与云新战略 重点深耕企业移动方案 美国高通公司在深圳召开参考设计及无线创新峰会 提供“一站式”整合服务 友盟正式推出消息推送平台 iOS 8新功能再曝光:或推出分屏多任务功能 Framer:开源原型设计工具,巨头们的心头好 亚特兰大峰会精彩看点:软件吞噬世界,OpenStack是变革核心 数据中心基础设施是大数据战略成败的关键 实时大数据分析:网络分析的一种新方法 最新消息:iPhone 6将采用更大、更清晰的1704x960分辨率屏幕 吴毅挺:OpenStack是开源IaaS平台大势所趋的集大成者 做好扁平化设计-交互篇 狙击Google Glass?三星将推基于Tizen系统的Gear Glass GamePlay:跨平台开源3D游戏引擎,黑莓的努力你不懂 “少即是多” 高通QRD大会精华汇总 天云盾:构筑在云端的Web安全防护 解析大数据时代的数据库集群技术 一款很不错的电子图书制作、资料管理软件 在-卢-<<利用XML实现通用WEB报表打印>>时报:未将对象引用设置到对象实例 DBEdit如何限制输入格式? 简单问题 ★★★狂急!请问怎样取得文件的创建日期!在线等!在线结贴!★★★ 初学xml,很简单的问题,就是不会,各位近来看看!一行代码搞不定… 有没有用于unix下c开发的dbx调试图形界面的工具? 哪位有tar 和 gzip 命令参数的详细中文介绍 jsp网站测试,欢迎大家测试 提问 请问有没有直接可以HTML(XHTML、SHTML)生成XML-XSL!!的工具 进程外组件的关于注册的问题? jsp中怎样生成静态页面 请问:如何返回webservice类的一个或多个实例? 怎样触发另一个窗口中的javascript函数? 谁能提供一些检测内存泄露的工具或方法 如何将 FoxBase 中的数据导入到 SQL Server 中? 求助:API操作注册表出现奇怪问题 请问如何改变windows xp中的用户的登陆顺序 有问题:如何通过页面下载附件? 求助:VB生成安装文件的问题 下面的程序怎样优化?(着急) 怎么样在C++ Builder 的Form上显示文字!我不要用控件,要直接显示在Form上 200 分相送 高手请进 请教如何写成特殊格式文件的存取的问题. 适配器更新数据集怎么用事务 怎样才能设“开机密码”? 哪位高手可以给我介绍一下TOMCAT和APACHE,我刚接触,需要了解一下 关于SocketConnection. 进入linux8.0后,主板指示灯闪烁问题,请高手指教。 谁给一个QQ给我啊? 高分请教? 如何查看一个记录集中游标的位置。 求一个简单的窗口函数 请问如何实现计算器功能 如何修改这个脚本?(应该比较简单) 大伙能否谈谈.net整体软件框架的设计 来者有分:调查:大家是在用vc.net还是用vc60,我在用vc60 用SQL SERVER如何实现插入数据后立刻取出插入的数据的id?在线等待,急~~~~~~~ 关于JTree ppt 大家帮我看看这个方法错在哪里?分不是问题 请问获取中文操作系统下获取文件信息时lang-charset的取值为什么????? CSDN论坛左边的树形栏目能动态添加吗? 如何设置几秒钟后转向某页面那种效果。 用户需求分析说明书和系统分析说明书到底是不是一回事!! 发邮件时,收到的邮件竟然是乱码,如何解决?100分大放送 PB中怎么和FLASH通讯啊???? 怎样加载Internet Transfer 控件?? ○ 如何让服务器支持C语言编写的CGI???? 请问db库是什么? 武则天和唐玄宗之间是什么关系 HCl+NaOH=NaCl+H2O 上式中的盐酸是稀是浓? 咋样修改CF中的无线电消息 在一个圆中有两条弦相交于一个定点且这两条弦互相垂直.求这两条弦乘积的最大值和最小值. 为什么小颗粒会向水漩涡中心去 CF怎么把无线电改成中文的我不想花钱.要钱的答案别回答.. 土壤水解性氮的测定中使用什么规格的微量滴定管?有液相色谱仪,但不知到检测方法,望好事做到底,提供详细检测方案。可发到wangchuan.888@136.com邮箱,先谢谢了。 医院里面的X光是干什么用的. 逆战塔防空间站普通单刷,双卡,无88,98主武器是毒王,没弓.强电已升4级,还可以再升一个没想好升什么.我现在是可以找一个双卡副手一起双人完美过关.我带减速,强电,浮游雷,电磁风暴.副手带 requested feature is not available X射线的应用 NaOH变质可用盐酸检验是否变质吗?在空气中的NaOH,变质后可用盐酸检验出是否变质吗?我觉得是可以,因为生成Na2CO3,所以滴加HCl,最后会生成NaHCO3,最后就会放出CO2.可是也有很多人说不可以,到底 sketchup如何用测量工具实现缩放rt 我要把一个物体缩放到一个实际尺寸 用测量工具以前可以 输入一个数字整体就变了 现在忘记怎么弄的了 - 已知集合A=﹛1,2,3,K),B=﹛4,7,a,a+3a),且A∈Z,K∈Z,映射f:x箭头y=3x+1,x∈A,y∈B,求实数a、k的值. 逆战塔防空间站88和死亡光线怎么配合 sketchup模型大比例缩放后,点击进入块时会出现观察上的破面,使继续修改时很难进行,如何避免?是指观察时产生破面 实际上并没有破,如何做到缩放后还能继续操作修改?我指的是大比例缩放后 如何画一个标准椭圆 金属铅能否在酸中反应 邓小平在文化大革命时期,情况如何?后期有没有掌权,做出贡献 There is ( )“s” in the word “six”. remark on ,remark upon两者有啥区别 电子显微镜中,能不能用X-ray取代电子光源,为什么 怎么样画一个标准的椭圆, 评价remark和comment有什么区别 电镜技术中可否用X-ray取代电子光源 There is _____ “s” in the word “six” 怎么答 remark和comment有区别请简练一点,通俗一点.用法上 ICPMAX和X光衍射仪和扫描电镜和气象色谱仪和原子吸收的实验室安装条件,知道一个也行啊, There is _ "s" in the word "six" 请填空说明为什么用AN 如图3-4,杠杆AB可以绕B点转动,A端用线系挂,并保持AB水平,线与AB夹角30°且保持不变。先在A点挂一重为G的钩码,然后,将这个钩码依次挂在靠向B端的挂钩上。在这个过程中( )。(杠杆自重 马克思主义哲学原理(第2版)课后题答案陈先达主编,人民大学出版社的版本.就要课后复习题的答案.有的请速发,分稍后给主要是内容提要里面的文字表述不严谨,要是考试答题那么些的话能得 there is () "x" in () word "six"为什么第一个不用an 最近发生过哪三次地震!不是汶川,海地,智利.是最近的三次,世界范围的,不管地震大小,只要是最近三次的! 请问长期在X光操作间会不会有什么影响? 成语中的通假字是什么”博闻强识“”拨乱反正”“披沙简金”“厉兵秣马”“厝火积薪”“被坚执锐” 怎样使用sum函数在word里计算队列分数的总和 用x光给土拍摄照片如果我我用x光给泥土拍摄,会得到什么?黑糊糊的一片?土中的部分杂质?能穿透有机玻璃吗? 及反,哪个是通假字 物质从___变成___叫做凝固,物质凝固时要___热量. 漩涡为什么能向中心吸物体 设集合a=b={(x,y) x属于r,y属于r},点(x,y)在映射f:a到b的作用下对应的点是(x-y,x+y),则b中点(3,2)对应的a中点的坐标为 什么物质凝固后体积变大,着急用除了水以外,还有什么物质凝固后体积变大? 漩涡为什么中间低两边高 设集合A=B={x| x∈R,y∈R} ,点(x,y)在映射f:A→B的作用下对应的点是(x-y,x+y)则B中点(3,2)对应的A中的点的坐标为 sum=sum*i/(2* i+1)和sum*=i/(2*i+1)的区别#include #include < conio.h >#include double fun( double eps){double t=1.0,sum=1.0;int i=1;while (sum>=eps) /* 当某项大于精度要求时,继续求下一项*/{sum=sum*i/(2* i+1); /* 求 已知,集合A={x|-2≤x≤2},B={x|-x ≤x≤1}对应关系f:x→y=ax若在f的作用下能够建立从 A到B的映射f:A→求实数a的取值范围.主要是B={x|-x ≤x≤1}弄不清 求大神解释椭圆为什么c平方=4c=2,不是应该焦点是c=根号2吗? c的平方=ab那么c叫做a与b的什么 已知集合A={xl-2≤x≤2},B={xl-1≤x≤1},对应关系f:x到y=ax,若在f的作用下能够建立从A到B的映射,求实数a的取值范 如果一个直线过(3,0)且与椭圆交于A,B两点椭圆x^2/6+y^2/2=1 O为原点 OA与OB垂直 求这个直线 sum+=i是什么意思 草菅人命 造句 椭圆!已知F1,F2分别是椭圆x2/4+y2/3=1的左右焦点,A是椭圆上一动点,圆C与F1A的延长线,F1F2的延长线以及线段AF2相切,若M(t,0)为一个切点,则t与2的大小关系为我算出来t=1/2或t=2都行,谢 a²-b²+ab-ab =a²-ab-b²+ab (请问这一个转换的步骤叫做什么?) 草菅人命的造句是什么? 方程为9x^2+y^2=81 求长轴长,短轴长,焦点坐标,离心率. sum+=i;是什么意思?表示什么? 用两个四字成语造句 1、势不可挡 饱经风霜 2、查无实据 草菅人命 3、和蔼可亲 安闲自在 读一读,找出划线部分发音不同的单词 ( )1.A.both(划在th上)B.tooth(划在th上)C.this(划在th上)( )2.A.that(划在th上)B.think(划在th上)C.with(划在th上)( )3.A.live(划在i上)B.wild(划在i 如图所示,将四个带电的通草球悬挂起来,已知A带正电,A与B排斥,B与C吸引,C与D吸引,则带负电的球有 外交部副部长刘振民与朝鲜外务省副相举中国财政部官员当选亚洲开发银行副行长印度一客车行驶途中起火 44人死亡包中国青少年多发\"老年病\"令人忧 新浪微博预热五金博览会叙总统颁特赦令 释放包括反对者在内所外媒称武装分子在叙利亚东北部使用毒气美媒称白宫叫停监听默克尔未获国安局落联赛杯-小豌豆2球贾努扎伊造点 曼联通讯:“让我们侧耳倾听鲸的呼吸”墨总统说在墨投资正是好时机专家:海军三大舰队演习或常态化 促编德媒:北京、上海、成都被美国列入监听韩媒:朝鲜出台相关法律 欲吸引外国投东京股市日经股指上涨1.23%离婚率高达40%!挪威政府坐立不安敦浙江地方政府探索干部权力分化防一把手三大巨变预示A股将崛起 两主线成反弹通讯:“让我们侧耳倾听鲸的呼吸”《步步惊心》小承欢转眼出落变成小美女日本女性无法原谅丈夫说什么话?湖北孝感发生交通事故致9死11伤英媒:越南洽购美欧王牌战机 有能力把韩MERS确诊患者增至64例 政府公富豪晒爱犬“奢侈生活”是时候反思欧洲经济危机了“党的纪律不存在‘松绑’的问题”第九届陈云与当代中国学术研讨会举行青年干部更需提升分析经济形势的能力我们向陈云学什么平壤年轻人青睐在咖啡馆与人见面:看起汪洋出席联合国粮农组织“反饥饿杰出进65集团军某旅列装新型防空导弹 战斗汪洋出席联合国粮农组织“反饥饿杰出进记者卧底替考组织参加江西高考 教育部过三关,斩大奖浏阳举办环保文化节推进环保宣传中纪委:纪检办案要快查快结 涉嫌犯罪长江沉船大部分遇难者DNA身份比对预省军区开展巡回演讲 动员高校学子投身必看!新密豪车女司机大白天被绑架,竟时隔7轮 河南建业两员悍将再入中超最
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘