【Asp.net精品源码栏目提醒】:本文主要为网学会员提供“【精品】PHP基本语法 - 其它资料”,希望对需要【精品】PHP基本语法 - 其它资料网友有所帮助,学习一下!
PHP 基本语法您无法在浏览器中通过查看源文档的方式来查看 PHP 的源代码 - 您只能看到 PHP 文件的输出,即纯粹的 HTML。
这是因为在结果返回浏览器之前,脚本就已经在服务器执行了。
PHP 标记 “gt”为结束,这类似于所有的 HTML在之前的的例子中的 PHP 代码是以“ltphp”为开始,标记,因为它们都是以小于号为开始,以大于号为结束的。
这些符号就叫做 PHP 标记。
PHP 标记中有 4 中不同的风格供我们使用XML 风格ltphp gt这是我们以后将使用的标记风格。
他是 PHP 推荐使用的标记风格,服务器管理员不能禁用这种风格的标记,因此可以保证正在所有的服务器上使用这种风格的标记,特别是编写用于不同服务器环境的应用程序时,这种标记风格尤为重要。
这种风格的标记可以在 XML(可扩展置标语言)文档中使用,如果打算在站点中使用 XML,就必须使用这种风格的标记。
简短风格lt gt这种标记风格是最简单的,但要使用这种标记字符,必须在配置文件中启用 short_open_tag选项,或者启用短标记选项编译 PHP.我们不推荐使用这种标记,因为虽然该标记风格是当前默认启用的,但是系统管理员偶尔会禁用它,它会干扰 XML 文档的声明。
SCRIPT 风格这种标记风格是最长的,使用过 javascript 或 vbscript 的人就会熟悉这种风格ltscript language“php”gt echo “这是类似 JavaScript 及 VBScript 语法 的 PHP 语言嵌入范例,指定脚本语言的方式” lt/scriptgtASP 风格这种标记风格和 ASP 或
ASP.NET 的标记风格相同。
如果在配置文件中启用了 asp_tags 选项就可以使用它lt echo “ASP 的风格的标记” gtPHP 输出语句有两种通过 PHP 来输出文本的基础指令:echo 和 print。
在上面的例子中,我们使用了 echo 语句来输出文本 quotHello Worldquot。
PHP 注释对于阅读代码的人来说, 注释其实就相当于代码的解释和说明。
注释可以用来解释脚本的用途,脚本编写人,为什么要按如此的方法编写代码,上一次的修改时间等等,PHP 支持 CC和 SHELL 脚本风格的注释。
单行注释 或 //多行注释 / /注意 : 单行注释可以嵌套在多行注释里使用的 但是多行注释是无法在嵌套的 ltphp echo quot这是第一种例子。
nquot // 本例是 C 语法的注释 / 本例采用多行的 注释方式 / echo quot这是第两种例子。
nquot echo quot这是第三种例子。
nquot 本例使用 UNIX Shell 语法注释 gtC 风格的注释在碰到第一个 / 时结束。
小心不要嵌套 C 风格的注释,当注释大量代码时,可能犯该错误。
ltphp / echo quotThis is a testquot / This comment will cause a problem / /gtPHP 数据类型数据类型 四种标量类型: boolean(布尔型):表达了真值,可以为 TRUE 或 FALSE。
要指定一个布尔值,使用关键字 TRUE 或 FALSE。
两个都不区分大小写。
ltphp foo True // assign the value TRUE to foo gt当转换为 boolean 时,以下值被认为是 FALSE: 布尔值 FALSE 整型值 0(零) 浮点型值 0.0(零) 空白字符串和字符串 quot0quot 没有成员变量的数组 特殊类型 NULL(包括尚未设定的变量)注意:-1 和其它非零值(不论正负)一样,被认为是 TRUE! integer(整型)integer 为整数型别。
在 32 位的操作系统中,它的有效范围是 -2147483648 到2147483647 231符号位。
要使用 16 进位整数可以在面加 0x。
整型值可以用十进制,十六进制或八进制符号指定,前面可以加上可选的符号(- 或者 )。
如果用八进制符号,数字前必须加上 0(零),用十六进制符号数字前必须加上 0x。
ltphp a 1234 // 十进制数 a -123 // 一个负数 a 0123 // 八进制数(等于十进制的 83) a 0x1A // 十六进制数(等于十进制的 26) gt float(也叫浮点数,双精度数或实数) 浮点数为浮点数型别。
在 32 位的操作系统中,它的有效范围是 1.7E-308 到 1.7E308。
自然底数 e2.71828183 ltphp a 1.234 a 1.2e3 a 7E-10 gt string(字符串) 即为字符串变量,无论是单一字符或数千字的字符串都是使用这个变量类型。
值得注意的是要指定字符串给字符串变量,要在头尾加上双引号 例如: quot这是 字符串quot。
在要让字符串换行时,可使用溢出字符,也就是反斜线加上指定的 符号,若是 x 加上二位数字,如 xFE 即表十六进位字符,详见下表: 符号 意义 quot 双引号 反斜线 n 换行回车 r 送出 CR t 跳位 TAB 定义字符串时,只有一种引号被视为定义符,即单引号或双引号。
于是,如果 一个字符串由双引号开始,那么只有双引号被分析器解析。
这样,你就可以在 双引号串中包含任何其他字符,甚至单引号。
下面的引号串都是合法的: s quotI m a studentquot s I am a “student” 当 PHP 遇到与串的开头相对应的引号时,便认为已经到了字符串尾部,于是: quotWhy doesnt quotthisquot workquot 实际上被 PHP 语法分析器分成三个部分: quotWhy doesnt quot——包含一个单引号的双引号串 this——多余的字符,分析器无法处理 quot workquot ——普通字符串 上面的这个例子企图在双引号串中包含双引号,而分析器在遇到第二个双 引号时便认为字符串结束了。
要达到包含引号的目的, 必须分析器在遇到串内 普通引号的时候忽略它的原意,我们在引号的 前面加上一个反斜杠来告诉 PHP: 这个引号是字符串的一部分,正确的表示方法是这样: quotWhy doesnt quotthatquot workquot 字串可以使用字串连接符.来连接,如: first_name A last_name B full_name first_name . . last_name 注意:lt aa5 echo aa. ‘testltbr/gt’; echo quotaa testltbr/gtquot;//在双引号中,变量名称被变量值替代 echo ’aa testltbr/gt’;gt//在单引号中,变量名称或其他的文 本都会不经修改而发送给浏览器复合类型:array object array(数组) array 为数组变量,可以是二维、三维或者多维数组,其中的元素也很自由,可以是 string、integer 或者 double,甚至是 array。
可以用 array 语言结构来新建一个 array。
它接受一定数量用逗号分隔的 keygt value 参数对。
key 只能是整数和字符串 a array 1 gt one 2 gt two 3 gt three a array one two three 默认下标是从 0 开始 MyArray1 arrayquotaquot quotbquot quotcquot quotdquot//一维数组 MyArray2 array quot地支quot gt arrayquot子quot quot丑quot quot寅quot quot卯quot quot生肖quot gt arrayquot鼠quot quot牛quot quot虎quot quot兔quot quot数字quot gt array1 2 3 4 //二维数组 ltphp arr array12 gt truequotfooquot gt quotbarquot false echo arrquotfooquot // bar echo arr12 // 1 gt 结果:bar1 ltphp MyArray1 arrayquotaquot quotbquot quotcquot quotdquot echo MyArray11 print_rMyArray1 gt 结果:b(索引值从 0 开始)数据类型强制转换: ltphp foo 10 // foo is an integer bar bool foo // bar is a boolean gt 允许的强制转换有: int,integer - 转换成整型 bool,boolean - 转换成布尔型 float,double,real - 转换成浮点型 string - 转换成字符串 array - 转换成数组 object - 转换成对象强制类型强制转换 参考:PHP 手册PHP 中的类型强制转换和 C 中的非常像:在要转换的变量之前加上用括号括起来的目标类型。
允许的强制转换有: intinteger - 转换成整型 boolboolean - 转换成布尔型 floatdoublereal - 转换成浮点型 string - 转换成字符串 array - 转换成数组 object - 转换成对象注意在括号内允许有空格和制表符还可以用 settype mixed var string type 进行强制转换. 1.强制转换为布尔值 boolboolean要明示地将一个值转换成 boolean,用 bool 或者 boolean 来强制转换。
但是很多情况下不需要用强制转换,因为当运算符,函数或者流程控制需要一个 boolean 参数时,该值会被自动转换。
当转换为 boolean 时,以下值被认为是 FALSE:布尔值 FALSE整型值 0(零)浮点型值 0.0(零)空白字符串和字符串 quot0quot没有成员变量的数组没有单元的对象(仅适用于 PHP 4)特殊类型 NULL(包括尚未设定的变量)所有其它值都被认为是 TRUE(包括任何资源)。
phpvar_dumpbool quotquot // boolfalsevar_dumpbool 1 // booltruevar_dumpbool -2 // booltruevar_dumpbool quotfooquot // booltruevar_dumpbool 2.3e5 // booltruevar_dumpbool array12 // booltruevar_dumpbool array // boolfalsevar_dumpbool quotfalsequot // booltruegt 2.强制转换为整形intinteger要明示地将一个值转换为 integer,用 int 或 integer 强制转换。
不过大多数情况下都不需要强制转换,因为当运算符,函数或流程控制需要一个 integer 参数时,值会自动转换。
还可以通过函数 intval来将一个值转换成整型。
a.从 bool 转换b.从浮点数转换 取整超出范围结果不定c.从字符串转换 参看字符串转换为数值d.从其它类型转换 先换成 bool 值再转换 决不要将未知的分数强制转换为 integer,这样有时会导致意外的结果。
ltphp echo int 0.10.7 10 // 显示 7 gt str quot123.456abc7quot // int123 echo intstr str quotabc123.456quot // int0 str true // int1 str false // int0 3.强制转换为浮点型 intdoublerealdoublevalfloatvalintval精度: 0.12345678901234 // doublereal 都一样数据的丢失参 字符串转换为数值 4.强制换为字符串 string strval可以用 string 标记或者 strval 函数将一个值转换为字符串。
当某表达式需要字符串时,字符串的转换会在表达式范围内自动完成。
例如当使用 echo 或者 print 函数时,或者将一个变量值与一个字符串进行比较的时候。
布尔值 TRUE 将被转换为字符串 quot1quot,而值 FALSE 将被表示为 quotquot(即空字符串)。
这样就可 以随意地在布尔值和字符串之间进行比较。
整数或浮点数数值在转换成字符串时,字符串由表示这些数值的数字字符组成(浮点数还包含有 指数部分)。
数组将被转换成字符串 quotArrayquot,因此无法通过 echo 或者 print 函数来输出数组的内容。
请参考下文以获取更多提示。
对象将被转换成字符串 quotObjectquot。
如果因为调试需要,需要将对象的成员变量打印出来,请阅 读下文。
如果希望得到该对象所依附的类的名称,请使用函数 get_class。
自 PHP 5 起, 如果合适可以用 __toString 方法。
资源类型总是以 quotResource id 1quot 的格式被转换成字符串,其中 1 是 PHP 在运行时给资源 指定的唯一标识。
如果希望获取资源的类型,请使用函数 get_resource_type。
NULL 将被转换成空字符串。
正如以上所示,将数组、对象或者资源打印出来,并不能提供任何关于这些值本身的有用的信息。
请参阅函数 print_r 和 var_dump,对于调试来说,这些是更好的打印值的方法。
可以将 PHP 的值转换为字符串以永久地储存它们。
这种方法被称为序列化,可以用函数 serialize 来完成该操作。
如果在安装 PHP 时建立了 WDDX 支持,还可以将 PHP 的值序列化为 XML 结构。
4. 强制转换为数组 array 对于任何的类型:整型、浮点、字符串、布尔和资源,如果将一个值转换为数组,将得到一个仅 有一个元素的数组(其下标为 0),该元素即为此标量的值。
如果将一个对象转换成一个数组,所得到的数组的元素为该对象的属性(成员变量),其键名为 成员变量名。
如果将一个 NULL 值转换成数组,将得到一个空数组。
5. 转换为对象 object如果将一个对象转换成对象,它将不会有任何变化。
如果其它任何类型的值被转换成对象,内置类stdClass 的一个实例将被建立。
如果该值为 NULL,则新的实例为空。
数组转换成对象将使键名成为属性名并具有相对应的值。
对于任何其它的值,名为 scalar 的成员变量将包含该值 6. 转换为资源 无法转换由于资源类型变量保存有为打开文件、数据库连接、图形画布区域等的特殊句柄,因此无法将其它类型的值转换为资源。
■PHP 类型比较表看手册附录 P以下的表格显示了 PHP 类型和比较运算符在松散和严格比较时的作用。
该补充材料还和类型戏法的相关章节内容有关。
注意 HTML 表单并不传递整数、浮点数或者布尔值,它们只传递字符串。
要想检测一个字 符串是不是数字,可以使用 is_numeric 函数。
在没有定义变量 x 的时候,诸如 if x 的用法会导致一个 E_NOTICE 级别的错 误。
所以,可以考虑用 empty 或者 isset 函数来初始化变量。
PHP 常量 常量: 合法的常量名以字母由大写字母组成和 C 语言一样或下划线开始,后面跟着 任何字母,数字或下划线。
常量和变量不同: 常量前面没有美元符号(); 常量只能用 define 函数定义,而不能通过赋值语句; 常量可以不用理会变量范围的规则而在任何地方定义和访问; 常量一旦定义就不能被重新定义或者取消定义; 常量只能包含标量数据(boolean,integer,float 和 string)。
常量的范围是全局的。
不用管作用域就可以在脚本的任何地方访问常量 define 的功能可以让我们自行定义所需要的常量。
见下例 ltphp definequotCONSTANTquot quotHello world.quot echo CONSTANT // outputs quotHello world.quot echo Constant // outputs quotConstantquot and issues a notice. gtPHP 变量 变量: 变量用一个美元符号后面跟变量名来表示。
变量名是区分大小写的。
一个有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字或 下划线。
PHP 是一门松散类型的语言(Loosely Typed Language) 在 PHP 中,不需要在设置变量之前声明该变量。
在上面的例子中,您看到了,不必向 PHP 声明该变量的数据类型。
根据变量被设置的方式,PHP 会自动地把变量转换为正确的数据类型。
在强类型的编程语言中,您必须在使用前声明变量的类型和名称。
在 PHP 中,变量会在使用时被自动声明。
可变变量variable variable: ltphp a name; a 张三;gt 这个代码等价于:name 张三; ltphp a quotHelloquot a quotworldquot echo quota helloquot // Hello world echo quota aquot // 也是 Hello world gt变量范围作用域: 作用域是指在一个脚本中某个变量在哪些地方可以使用或可见。
全局变量global variable: ltphp a 1b 2 function Sum global a b b a b Sum echo b gt 输出是’3’ 局部变量local variable:任何用于函数内部的变量将被限制在局部函数范围内。
ltphp a 1 / global scope / function Test a 2 echo a / reference to local scope variable / Test gt 什么也不输出 静态变量static variable:在函数退出时 这个变量始终存在,不被销毁, 但不能被其它函数使用 当再次进入该函数时 将保存上次的结果。
ltphp // 静态变量的例子 function myfunc static mystr mystr.quot哈quot echo mystr.quotltbrgtnquot myfunc // 哈 myfunc // 哈哈 myfunc // 哈哈哈 gtPHP 运算符使用操作符:操作符是用来对数值和变量进行某种操作运算的符号。
学过的两个操作符:赋值操作符和字符串连接操作符.。
算数操作符: 例子 名称 结果 -a 取反 a 的负值。
a b 加法 a 和 b 的和。
a - b 减法 a 和 b 的差。
a b 乘法 a 和 b 的积。
a / b 除法 a 除以 b 的商。
a b 取余数 a 除以 b 的余数。
(“/”)总是返回浮点数,即使两个运算数是整数(或由字符串转换成的整数)也是这样。
注: 取模 a b 在 a 为负值时的结果也是负值。
ltphp a 8 b 2 c 3 echo ab.quotltbrgtnquot echo a-b.quotltbrgtnquot echo ab.quotltbrgtnquot echo a/b.quotltbrgtnquot echo ac.quotltbrgtnquot gt 注意:作为乘法操作符,而不是常规的乘法符号。
除法操作符同理。
字符串运算符:有两个字符串运算符。
第一个是连接运算符(“.”),它返回其左右参数连接后的字符串。
第二个是连接赋值运算符(“.”),它将右边参数附加到左边的参数后。
ltphp a quotHello quot b a . quotWorldquot // now b contains quotHello Worldquot a quotHello quot a . quotWorldquot // now a contains quotHello Worldquot gt赋值运算符: 基本的赋值运算符是“”。
一开始可能会以为它是“等于”,其实不是的。
它实际上意味着把右边表达式的值赋给左边的运算数。
赋值运算表达式的值也就是所赋的值。
也就是说,“a 3”的值是 3。
ltphp a b 4 5 // a 现在成了 9,而 b 成了 4。
gt括号提高子表达式的优先级复合赋值操作符: 增加程序的执行效率。
符号 使用方法 等价于 意义 ab ab 将右边的值连到左边 ab aab 将右边的值加到左边 - a-b aa-b 将右边的值减到左边 ab aab 将左边的值乘以右边 / a/b aa/b 将左边的值除以右边 ab aab 将左边的值对右边取余数 . a.b aa.b 将右边的字符串加到左边 ltphp a 5 a 2 // 即 a a 2 echo a.quotltbrgtnquot b quot哇quot b . quot哈quot // b quot哇哈quot b . quot哈quot // b quot哇哈哈quot echo quotbltbrgtnquot gt递增/递减运算符: 注: 递增/递减运算符.
上一篇:
【精品】【js】16 Ajax应用
下一篇:
应用数学学报编辑部联系方式