目录
基本语法 语句结构 函数 数组 面向对象的程序设计 字符串 正则表达式 常用函数 文件系统 图形图像处理 MySQL数据库 Cookie&Session 错误和异常
基本语法
变量
由英文字母或下划线开头,后面可以跟任意数量的英文字母,数字和下划线。 变量名必须是一个标识符。 不允许使用PHP的关键字和保留关键字作为变量名(常用关键字见下表)。
while Array as catch throw abstract protected and or xor exception break case class const continue clone try this final php_user_filter declare default die() do echo else elseif empty enddeclare endfor endforeach endif endswitch endwhile eval exit extends for foreach function global if include include_once isset interface implements public private list new print require require_once return static switch unset use var while
预定义变量:PHP提供了大量预定义变量,大多依赖与服务器版本和配置。预定义变量可以在程序或文件的任何地方使用。
预定义变量名 作用 $GLOBALS 包含指向当前程序中全局范围有效的变量 $SERVER 该全局变量是一个包含诸如头信息,路径和脚本位置的数组 $_GET 通过HTTP的GET方法提交至脚本的表单变量 $_POST 通过HTTP的POST方法提交至脚本的表单变量 $_FILE 通过HTTP的FILE文件上传提交至脚本的变量 $_COOKIE 通过HTTP的COOKIE方法提交至脚本的变量
变量元素 作用 PHP_SELF 当前正在执行的脚本的文件名 SERVER_ADD 当前执行脚本所在服务器的IP地址 SERVER_NAME 当前执行脚本所在服务器主机的名称 DOCUMENT_ROOT 当前脚本所在文档的根目录 SCRIPT_FILENAME 当前执行脚本的绝对路径 SCRIPT_NAME 当前脚本的路径 HTTP_REFERER 链接到当前页面的前一页面的URI REQUEST_URI 访问此页面所需的URI
<?php
$name ="Marshall" ;
echo "通过\$GLOBALS来取变量值:" ;
echo "<br/>" .$GLOBALS ['name' ];
echo "当前执行脚本的文件名:" ;
echo "<br/>" .$_SERVER ['PHP_SELF' ];
echo "当前执行脚本所在的根目录:" ;
echo "<br/>" .$_SERVER ['DOCUMENT_ROOT' ];
echo "当前执行脚本的绝对路径:" ;
echo "<br/>" .$_SERVER ['SCRIPT_FILENAME' ];
?>
定义变量
$+变量名。 用变量的值来做变量名。 $name='Marshall'; $$name就等同于$Marshall
常量
不改变的量。 分为自定义常量和预定义常量。 常用预定义常量。预定义常量无需声明直接使用。
常量名 作用 __
FILE__
返回当前文件的名称 __
LINE__
返回当前代码所在的行号 __
FUNCTION__
返回所在函数的函数名 __
CLASS__
返回所在类的类名 PHP_OS 返回操作系统的名称 PHP_VERSION 返回当前PHP服务器的版本 TRUE 代表布尔值“真” FALSE 代表布尔值“假” NULL 代表空值 M_PI 数学中的π
<?php
echo "当前文件所在位置是:" .__FILE__ ;
echo "<br/>当前操作系统是:" .PHP_OS;
?>
自定义常量
1. define方法
define(name.value,insensitive)
<?php
define(PERSON_NAME,'Marshall' ,true );
?>
2. const 方法
const name=value
<?php
const PERSON_NAME='Marshall' ;
?>
赋值-最基本的运算
最基本的运算符:赋值运算符。用来给变量赋值和初始化常量。
变量的赋值
variable = value //value可以是数值,字符串,也可以是变量等多种类型
<?php
$a =1 ;
$name ='Marshall' ;
$a =$b ;
?>
<?php
$a ;
$a =1 ;
?>
1.传值赋值:一个变量的改变不会影响另一个变量
<?php
$a =1 ;
$b =$a ;
echo '$b=' .$b ;
$b =10 ;
echo '<br/>$a=' .$a ;
?>
2.引用赋值:改变其中任意一个变量,另一个变量都将会受到影响
<?php
$a =1 ;
$b =&$a ;
echo '$b=' .$b ;
$b =10 ;
echo '<br/>$a=' .$a ;
echo '<br/>$b=' .$b ;
?>
3.单引号和双引号输出
<?php
$a =1 ;
$name ='Marshall' ;
echo '$a' .'<br/>' .'$name' .'<br/>' ;
echo "$a" .'<br/>' ."$name" .'<br/>' ;
echo "这是一个句子1" ;
echo '这是一个句子2' ;
?>
常量初始化
const name=value
<?php
const PERSON_NAME='Marshall' ;
?>
<?php
const a=0.03 ;
const str='计算完毕' ;
$money =1000 ;
$money_new =$money *(1 +a);
echo '我的本金加利息一共是:' .$money_new ;
echo '<br/>' .str;
?>
其他的运算符
<?php
$num1 =20 ;
$num2 =5 ;
echo '$num1+$num2=' .($num1 +$num2 ).'<br/>' ;
echo '$num1-$num2=' .($num1 -$num2 ).'<br/>' ;
echo '$num1*$num2=' .($num1 *$num2 ).'<br/>' ;
echo '$num1/$num2=' .($num1 /$num2 ).'<br/>' ;
?>
<?php
$num1 =10 ;
$num2 =3 ;
echo $a %$b .'<br/>' ;
echo 20 %7 ;
?>
<?php
$num =1 ;
echo $num ++;
echo '<br/>' .$num ;
echo '<br/>' .++$num ;
?>
减法类似
<?php
$num1 =10 ;
$num2 =10 ;
echo $num1 =$num1 +10 ;
echo $num2 +=10 ;
echo $num1 +=$num2 ; //$num1 =$num1 +$num2
?>
+,-,*,/都可以
优先级 运算符 1 ++ --
2 * / %
3 + -
4 = += -= *= /= %=