注释
<?php
// 单行注释
# 单行注释
/*
多行注释块
*/
?>
函数、类和关键词(大小写不敏感)
在下面的例子中,所有这三条 echo 语句都是合法的(等价):
<?php
ECHO "Hello World!<br>";
echo "Hello World!<br>";
EcHo "Hello World!<br>";
?>
变量(大小写敏感!!!)
在下面的例子中,所有这三条 echo 语句都是合法的(等价):
<?php
$color="red";
echo "My car is " . $color . "<br>"; //正常显示
echo "My house is " . $COLOR . "<br>"; //报错:Undefined variable: COLOR
echo "My boat is " . $coLOR . "<br>"; //报错:Undefined variable: coLOR
?>
PHP 变量规则:
- 变量以 $ 符号开头,其后是变量的名称
- 变量名称必须以字母或下划线开头
- 变量名称不能以数字开头
- 变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)
- 变量名称对大小写敏感($y 与 $Y 是两个不同的变量)
PHP 变量名称对大小写敏感!!!
PHP 变量作用域
PHP 有三种不同的变量作用域:
- local(局部)
- global(全局)
- static(静态)
global 关键词:
用于在函数内访问全局变量。
要做到这一点,请在(函数内部)变量前面使用 global 关键词
PHP 同时在名为 $GLOBALS[index] 的数组中存储了所有的全局变量。下标存有变量名。这个数组在函数内也可以访问,并能够用于直接更新全局变量。
<?php
$x=5;
$y=10;
function myTest() {
global $x,$y;
$y=$x+$y;
//上面2句等价于:$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
}
myTest();
echo $y; // 输出 15
?>
static 关键词:
通常,当函数完成/执行后,会删除所有变量。不过,有时我需要不删除某个局部变量。实现这一点需要更进一步的工作。
要完成这一点,请在您首次声明变量时使用 static 关键词
<?php
function myTest() {
static $x=0;
echo $x;
$x++;
}
myTest();
myTest();
myTest();
//输出结果:012
?>
PHP 输出语句
- echo - 输出一个或多个字符串,无返回
- print - 只能输出一个字符串,并始终返回 1(速度较慢)
- print_r - string.integer.float(打印变量值本身)
print_r - array.object(按照一定格式打印键值对) - var_dump - 返回表达式的类型与值(调试推荐)
<?php
$cars=array("val1","val2","key"=>'value3');
echo '字符串连接,使用单引号:{$cars[0]}'; //输出:字符串连接,使用单引号:{$cars[0]}
echo "字符串连接,使用双引号:{$cars[0]}"; //输出:字符串连接,使用双引号:val1
print_r($cars); //输出:Array ( [0] => val1 [1] => val2 [key] => value3 )
var_dump($cars); //输出:array(3) { [0]=> string(4) "val1" [1]=> string(4) "val2" ["key"]=> string(6) "value3" }
?>
PHP 数据类型
字符串 string
整数(十进制,十六进制0x,八进制0) int
浮点型(小数点,指数形式) float
布尔型 bool
数组 array
对象类型 object
空值类型(可以通过把值设置为null,将变量清空。例如:$x=null;) NULL
PHP 常量
与变量不同,常量贯穿整个脚本是自动全局的。
设置 PHP 常量
如需设置常量,请使用 define() 函数 - 它使用三个参数:
- 第一个参数定义常量的名称
- 第二个参数定义常量的值
- 第三个参数(可选)规定常量名是否对大小写不敏感。【默认是 false,敏感】
<?php
define("GREETING", "Welcome to W3School.com.cn!");
echo GREETING;
?>
PHP 运算符
> 算数运算符:+、 - 、 *、 /、 %
> 赋值运算符:=、+=、 -=、 *=、 /=、 %=
> 字符串运算符:串接(.)、串接赋值(.=)
> 递增/递减运算符:++、--
> 比较运算符:== 、 ===、 !=、 <>、 !==、 >、 >=、 <、 <=
> 逻辑运算符:&&(and)、||(or)、!、xor(异或)
PHP 条件语句
- if 语句
- if…else 语句
- if…elseif…else 语句
- switch 语句
PHP 循环
- while
- do…while
- for - 循环代码块指定次数
- foreach - 遍历数组中的每个元素并循环代码块
foreach 循环只适用于数组,并用于遍历数组中的每个键/值对。
<?php
$colors = array("red","green","blue","yellow");
// 循环值
foreach ($colors as $value) {
echo "$value <br>";
}
// 循环键值对
foreach ($colors as $key => $value) {
echo "$key, $value <br>";
}
?>
PHP 数组排序
数组中的元素能够以字母或数字顺序进行升序或降序排序。
- sort() - 以升序对数组排序
- rsort() - 以降序对数组排序
- asort() - 根据值,以升序对关联数组进行排序
- ksort() - 根据键,以升序对关联数组进行排序
- arsort() - 根据值,以降序对关联数组进行排序
- krsort() - 根据键,以降序对关联数组进行排序
PHP 全局变量 - 超全局变量
$GLOBALS // 引用全局作用域中可用的全部变量
$_SERVER // 保存关于报头、路径和脚本位置的信息
$_REQUEST // 收集 HTML 表单提交的数据
$_POST // 收集提交 method="post" 的 HTML 表单数据,也常用于传递变量
$_GET // 收集提交 HTML 表单 (method="get") 之后的表单数据
$_FILES //
$_ENV //
$_COOKIE //
$_SESSION //