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

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

 

 

Android过后Chrome OS又是如何开发? Android安全模型导致开发时功能受限 Android导出一个JAR库 APK汉化原理及方法 APK文件格式分析,Android反编译入门(一) ApiDemos中的Android Widget例子解析 APK签名导出向导 - Use the Export Wizard 剖析Android自带Widget - Music播放器 剖析Android自带Widget - Clock指针钟表 C#取得Excel工作簿工作表名称 C#中用Automation自动化方式对Excel的操作 VB如何打开或保存为有密码保护的Excel sheets工作表 VB在Excel表格文件中搜索指定内容 VB复制Excel表到另外一个Excel中 Java实现生成网站快照缩略图片 php实现生成网站快照缩略图片 C#实现生成网站快照缩略图片 VB比较两个Excel表格的内容 VB实现Excel按列或行排序 VB删除EXCEL表格指定行 用vb.net写的验证码识别代码 VB删除EXCEL表格指定列 Oracle数据库Windows 2003环境自动备份批处理 VB通过ADODB连接EXCEL表格文件读取数据 使用VBScript卸载软件 Discuz X2用户注册过程SQL Android手机参数表 用jQuery改变图片(image src) 用std::atomic實現簡單的讀寫鎖 ChinaPay网上支付网关.NET开发 VOB生成IFO文件用nero刻录DVD详解 reintroduce和overload有什么区别吗? 关于Javadoc的使用 请问如何在程序运行时根据分辨率等比例调整窗体,控件和字体的大小,使得在任何分辨率下均满屏显示 世界杯“蓝色厄运”理论:英格兰胜巴西 德国淘汰美国(转贴) 关于treeview的节点事件问题,把在下高糊涂了,请高手明示。 要毕业了。。。 BCB中数据库控件的错误扑捉怎么写?比如数据库不存在? 请教如何在调运api函数时,建立缓冲区 SetEvent函数调用带来非法内存访问,扭心的问题。 文件和字符混和上传问题 诸位大虾请帮忙? 各位大虾:哪里有vb.net下载啊? 请教:“开始”菜单中的“文档”菜单不见了! 急!急!急! 一个关于模式对话框的问题 oracle 用sql plus /spool 输出 查询结果时怎么把 查询sql 本身 去掉(不输出) ? 世界杯“蓝色厄运”理论:英格兰胜巴西 德国淘汰美国(转贴) !!请 “arxing(阿行)”回答!!about 对象池!!!! 各位老大,怎样将给定的中文根据拼音排序? access97中的报表中显示中文字段时为什么是乱码,怎样解决,急呀!老大们!! 急:在哪儿可以下载java的反编译器jad.exe????? 请帮忙 做过数据分析的高手请进。。。(我感觉很头疼的一个问题!) 共享Interent怎样实现? 请问绿色程序是如何制作的??? Windows API和C 请问怎样把form中的picture属性中的图片删除? 请看看这个问题? 中程书上的错误?(清华) 各位大虾过来看看,救救我啊! flash简单问题 已知IP,求计算机名 求备份方案,oracle 数据库! 求解決方案:怎樣在運行狀態下增加或取消文本輸入框的滾動條. 大家发表些看法! 各位 帮帮忙,关于答复文档的 如何获取手机中的短消息发送结果状态报告,需要懂一点手机短信的朋友 有没有办法去掉jre1.4下向JTextField输入中文时弹出来的那个恶心的输入窗口? 将web工程加到sourcesafe的问题,十万火急,帮忙解决一定给分,分数不够可以其他方式给。 在sqlserver中有字段类型为image,如何往该字段放图象?200分 基础问题 NT ,when boot ,can not find system 关于internet上的控件打包??????????????? 请各位高手帮忙解决!谢谢!! 谁能告诉我那几个网络论坛比较好 如何实现socket 的多线程 高手请这边来瞧瞧 如何在ODBC应用程序中使用CListView? excelapplication控件???教教我吧,我不知道为什么?很简单的。 关于internet上的控件打包??????????????? 谁知道autovuex.ocx 控件(可以显示CAD等图形)哪儿有下载??拒绝up 大家都用VC吧,这个怎么实现? 在长1.6m,宽1.2m的长方形三合板上,裁出半径是20cm的圆最多可裁多少个?哪位认识会啊 急用! 已知圆M:(x+cosA)的平方+(y-sinA)平方=1,直线L:y=kx则:对任意的角A,必存在k,使直线L和圆M相切;对任意的k,必存在角A,使直线L和圆M相切.请问上面两句话是否都正确,为什么/ 一个长30厘米,宽20厘米的长方形能剪几个半径为6厘米的圆 在长1.6米,宽1.2米的长方形三合板上,裁出半径是20厘米的圆,最多可裁多少个? 已知圆C:(x+cosA)^2+(y-sinA)^2=1,那么直线L:y=kx,则下列说法正确的是1,对于已知圆C:(x+cosA)^2+(y-sinA)^2=1,那么直线L:y=kx,则下列说法正确的是(1)对于任意实数A,必存在实数k,使得直线l与M相切; 半径1厘米的圆沿长方形边缘滚,长方形长30厘米,宽20厘米.当硬币滚回原来位置,圆心经过的路程是几厘米 361800欧元英文大写是316800 为什么万里长城要设烽火台 一个环形零件,外圆半径长4厘米,内圆半径长1厘米,圆环的面积是( )平方厘米? 欧元金额怎么大写比如说USD是US dollars那么ERU 要怎么写 胃液中含有盐酸,胃酸过多的人服用适量的小苏打能治疗胃酸过多,反应的离子方程式是_______________ 半命题作文其实我也很—— 4点之前 总价48963.6欧元,英文大写怎么写 四字的有人生哲理的词语最好是能够用做网名的 服用含小苏打的药物可治疗胃酸过多,其反应的化学方程式为______________ 欧元大写EUR 2493.69EUR 10338.56分别是怎样大写 优美的语句(有人生哲理的), 甲乙两同学的身高都是1.6乘10的2次方,但甲说比乙高9CM,有这种可能吗?若有请举例说明. 体积和容积有什么区别? 用铁皮焊10个底面是边长20厘米的正方形,高是3分米的长方体无盖水桶,至少需用多少铁皮 感谢我的(XX) 小孩子把玩具当朋友,我们把朋友当玩具.? 甲乙两学生的身高近似值都是1.7x10的2次方cm,但甲说比乙高9m,问有这种可能吗? 求:那一次,我很XX 550—600字希望六要素齐全 并且题材不泛滥 不要转载 我能看出来 现在的小朋友是喜欢迪迦奥特曼玩具的人多还还是戴拿奥特曼玩具的人多又或是喜欢天线宝宝玩具的人多本人需要筹备一批玩具礼品,请问现在的小朋友是喜欢迪迦奥特曼玩具的人多 还还是 关于爱学习爱劳动的手抄报 修一条路,甲队单独做要12天,乙队单独做每天可修全长的1\18,甲队先单独修了2天,余下的两队合修,完成任务时,乙队修了几天? 1,562,997.8欧元用英文怎么大写 为什么治疗胃酸过多用碳酸氢钠而不用碳酸钠? 用铁皮焊15个底面是边长25厘米的正方形,高4分米的长方体无盖水桶,至少要用多少铁皮?(列一下公式) 有一长方形,长为82cm,宽为55cm,在这个长方形上取直径为20cm的圆,请问最多能取几个 为什么治疗胃酸过多不用苏打而用小苏打还有为什么洗涤时不用小苏打而用苏打 xx,我为你自豪(初中作文)今天就用! 一块长方形木板,长3.2米,宽0.8米,把它据成半径是20cm的圆,最多能据多少个? 使用“春天”“夏天”“秋天”“冬天”四个词,运用修辞方法写一段表达人生感悟的文字.(45字内) 用一张长12.5厘米、宽7.2厘米的长方形彩纸能剪多少个半径是1厘米的圆?说出理由 帮我做一道简单的编程题目(pascal)给出一列数:[(1*1)/2008],[(2*2)/2008],[(3*3)/2008],[(4*4)/2008]…[(n*n)/2008],给出n,要你求出这列数中不同的个数有多少个.(n 使用春天,夏天,秋天,冬天.运用一定修辞手法写一段表达人生感悟的文字!要求修辞合理,语言连贯,用春天,夏天,秋天,冬天.运用一定修辞手法写一段表达人生感悟的文字!要求修辞合理,语言连贯 一张长方形的彩纸,长是28厘米,宽是25厘米,最多能剪多少个半径是2厘米的圆? 幼儿园把新购进的的一批玩具分给小朋友.幼儿园把新购进的的一批玩具分给小朋友,若每人3件,那么还剩余59件,若每人5件,那么最后一个小朋友分到玩具,但不足4件,这批玩具共几件? 使用“春天”“夏天”“秋天”“冬天”写一段表达人生感悟的文字,要求修辞合理,语言连贯,结句带有总结 一张彩纸长6厘米,宽4厘米,最多能剪多少个半径为1厘米的圆? 小明用一张长32cm宽20cm的长方形纸最多能剪成()半径为2cm的圆形纸片 用春天、夏天、秋天、冬天.运用修辞手法写一段人生感悟.45字内 一张长方形彩纸长10厘米,宽9厘米,最多能剪多少个半径是1厘米的圆? 30cm长20cm宽长方形剪半径2cm的圆能剪几个?小孩六年级的题,他说是35个,可我认为最少是36个,谁对? 谁知道郑启华的PASCAL程序设计第五章习题答案用函数解 输入a,b,c,计算M.M=max(a,b,c)/(max(a,b,c)*max(a,b,c)) 将求三个数的最大数max(x,y,z) 1.抄一份稿件,甲单独抄用四分之一小时完成,乙单独抄用五分之一小时完成,甲乙合抄用()小时可以完成甲的工作效率是乙的( ).2.一项工程,甲乙合作10天完成,若甲单独干18天完成,甲比乙单 A为任意实数,求直线x*cosA+y*sinA=cosA+sinA围成的面积大小 一个底面半径是8厘米的圆柱形容器中装有一些水,将一个圆锥放入容器完全浸入水中,这时水面上升了5厘米. 一份稿件,甲独抄5天可以抄完全部的1/4,乙独抄15天可以完成,现在甲乙合抄全部稿件的2/3,需要几天抄完?现谢过了! 形容文章的思想感悟和文字都很美的词? 一个底面半径是8厘米的圆柱形容器中装有一些水,将一个圆锥放入容器中,完全浸入水中,这时水面上升了5厘米求圆锥体积. 一份稿件如果甲独抄5天可以抄完全部的1/4乙独抄15天可以完成现在甲乙合抄全部稿件的2/3需要几天抄完? 请使用春天 夏天 秋天和冬天四个词语 运用一定的修辞手发写一段表达人生感悟的文字要求:修辞合理 语言连贯 结句带有总结性 不少于45个字 甲乙两名学生的身高都是1.70×10²cm,但甲学生说他比乙高9cm,有这种可能吗?请举例说明必须举例 若6-根号13的小数部分和整数部分分别是X,Y求2X-Y的值 还要有作文 圆C:(x-cosa)^2+(y-sina)^2=25与直l:(2m+1)x+(m+1)y-7m-4=0的位置关系是? 什么虫被称为气候者,什么虫被称为建筑工程师?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘