210 likes | 363 Views
PHP 基础. php 是什么?. PHP 是什么? PHP (“ PHP: Hypertext Preprocessor ” ,超文本预处理器的字母缩写)是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到 HTML 中,尤其适合 WEB 开发。 以上是一个简单的回答,不过这是什么意思呢?请看如下例子: 例子 1-1. 一个介绍性的范例 <html> <head> <title>Example</title> </head> <body> <?php echo "Hi, I'm a PHP script!" ; ?> </body> </html>.
E N D
php是什么? PHP 是什么? PHP(“PHP: Hypertext Preprocessor”,超文本预处理器的字母缩写)是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到 HTML中,尤其适合 WEB 开发。 以上是一个简单的回答,不过这是什么意思呢?请看如下例子: 例子 1-1. 一个介绍性的范例 <html><head><title>Example</title></head><body><?php echo "Hi, I'm a PHP script!"; ?></body></html>
php书写规范 用来标记 PHP 代码块的标记共有四套:<?php … ?> <script language="php">. . .</script> 上述两种方式总是有效。 <? … ?> <% … %>这两种方式需要在php.ini中去配置才能生效。一般使用第一种方式。 示例: <?php echo “<font color=red>今天是个好天气!</font>”echo “好好学习,天天向上”; ?>
php页面的解释 Hello.php页面:_______________________________________________<html><head><title>php页面</title> </head><body><p>谁先执行</p><?php echo “<font color=red size=36>你好,同学们!</font></br>”echo “加油学习PHP哦”; ?> </body></html> apache服务器处理页面的原理:普通的html、javascript、css代码原样输出;php代码,将由php引擎解释,最终输入html代码。
PHP 支持 ‘C’,‘C++’ 和 Unix Shell 风格的注释。 //单行注释/* */多行注释# Unix风格注释 /** 类的注释方法 dfdfdf */ [应该养成注释的习惯,这样能提高代码的可读性,缩短后期维护的时间。] 例如: <?phpecho “This is a test”; // c++风格的单行注释 /* This is a multi line commentyet another line of comment */ echo “This is yet another test”;echo “One Final Test”; # unix shell风格注释?> php的注释
基础 变量可以存放程序中所需要的数值或数据。 PHP 中一个美元符号$后面跟上一个变量名称,即表示一个变量。变量的名称是对大小写敏感的。 变量名与 PHP 中其它的标签一样遵循相同的规则。一个有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字,或者下划线。 <?php$var = “Bob“; //“=”用于给变量赋值。 $Var = ‘Joe’;//这是两个不同的变量 echo “$var, $Var”;// outputs “Bob, Joe”$4site = ‘not yet’;// 这是一个无效的变量名称.你知道是为什么吗?$_4site = 'not yet';// valid; starts with an underscore$t?yte = 'mansikka';// valid; '洄 is (Extended) ASCII 228.?> 注:在命名变量时,尽量给予一个比较容易了解意义的名称。 变量@自定义变量
局部变量:自定义函数内的变量称为局部变量。局部变量只能在函数内自己使用,不能被其他函数使用。局部变量:自定义函数内的变量称为局部变量。局部变量只能在函数内自己使用,不能被其他函数使用。 全局变量:在主程序内定义的变量是全局变量。 变量@作用范围
如果程序中的函数需要使用全局变量,可以通过global声明全局变量。如果程序中的函数需要使用全局变量,可以通过global声明全局变量。 <?php$a = 1;$b = 2;function Sum(){ global $a, $b; //使用global,指定了这两个变量为全局的$b = $a + $b;}Sum();echo $b;?>结果为:3 变量@作用范围
也可使用 $GLOBALS替代 global来声明全局变量。 <?php$a = 1;$b = 2;function Sum(){$GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"];}Sum();echo $b;?>
静态变量 • 先看一个范例 由于$I是一个局部变量,因此当addone()执行完后,$I的值就被删除,等到下一次执行addone()时,又重新赋值0,所以每次运行完后都得到1.也就是说,局部变量的生命周期是从函数开始产生,当函数结束时立即消灭。
静态变量 • 先看一个范例 为了保存局部变量的值,可以使用静态变量(Static),其目的就是让局部变量的值不会因为函数结束而消失。范例中,在设置$I的初始值为0时加上static,表示$I被设置为静态变量,即$I的值不会随着addone()的结束而结束,而是一直保存在内存中不会消失。
动态变量 动态变量的方式是可以让变量的内容变成一个新的变量。 如:$name=“John”; $$name=“Lee”; 第一行是传统的变量设置,将John指定给$name变量,第二行可以分成两个步骤来理解($)($name),因为第一行的变量设置,所以$name变成John,再合并便变成$John=“Lee”.如果第一行的值发生改变,则第二行的变量名称也就发生改变,所以称之为动态变量。
默认变量 • 在PHP.INI中有一个参数设置register_globals,它用于设置环境变量、GET变量、PUT变量、Cookie变量以及服务器变量是否为全局变量,即上述五种变量是否可以直接在程序中使用。例如,服务器默认变量HTTP_USER_AGENT,若register_globals设置为on就表示各变量均为全局变量,在程序中就可以直接使用。例如: echo $HTTP_USER_AGENT; 可以显示用户相关信息。出于安全性的考虑,从PHP4.2.0后register_globals默认为off,不让程序员直接使用这些变量。如果要使用这些变量,就必须借助$_ENV、 $GET、$_POST、$_Cookie和$_SERVER数组取得变量内容。例如,取得HTTP_USER_AGENT就必须借助_SERVER数组。 Echo $_SERVER[‘HTTP_USER_AGNET’];
WAMPserver中,PHP设置中的register globals前面没有勾选,说明默认为off.
$_SERVER数组中的内容 PHP_SELF:目前执行的文件名称;SERVER_NAME:服务器的名称; SERVER_SOFTWARE:服务器使用的软件; DOCUMENT_ROOT:文档的根目录。 HTTP_USER_AGENT:用户相关信息; REMOTE_ADDR:远程用户的地址; REMOTE_PORT:远程用户的连接端口;
变量的类型转换 • 转换变量的数据类型有两种方式:第一种是在设置变量值时强迫转换数据的类型;第二种方式则是使用函数将变量的数据类型转化为新的类型。 • 变量=(数据类型)表达式或变量; • $a=(int)(7/2); //$a=3 • $b=12.3 • $c=(int)$b; //$c=12 • Settype(变量,新的数据类型) • $A=12.345; • Settype($A,integer); • $B=100; • Settype($B,string); • $B=$B.”abc”;
常量 常量是指经程序定义后不会因为程序的执行而改变其值的量,称之为常量。常量有两种,默认常量与自定义常量。PHP本身有预先定义好的许多常量供设计者使用,称之为默认常量。如果使用PHP提供的define()函数让设计者在程序中定义自己的常量,称之为自定义常量。一个常量一旦被定义,就不能再改变或者取消定义。按照惯例,常量标识符总是大写的。 常用的默认常量:PHP_VERSION、PHP_OS分别表示PHP的版本与PHP目前执行的操作平台。
自定义常量 常量只能用 define()函数定义,而不能通过赋值语句; 常量可以不用理会变量范围的规则而在任何地方定义和访问; 常量一旦定义就不能被重新定义或者取消定义; 常量的值只能是标量。 Define(常量名称,常量值,[case_insensitive])第一个参数是设置常量的名称,第二个参数是设置常量的内容,第三个参数是一个是否视大小写为相同的选项,1表示常量名称不分大小写,0表示大小写为不同内容。 <?php define("CONSTANT", "Hello world."); echo CONSTANT; // outputs "Hello world." echo Constant; // outputs "Constant" and issues a notice. ?>