创建一个PHP文件
即后缀为.php,php脚本可以嵌套到html中,以
<!DOCTYPE html>
<html>
<body>
<h1>我的第一张 PHP 页面</h1>
<?php
echo "Hello World!";
?>
</body>
</html>
在页面上输出了hello world,php语句以分号结尾
php的注释:
支持3中注释
1. // 表示单行注释
2. # 表示单行注释
3. /* */ 表示多行注释
大小写敏感
php对关键词,函数,及类大小写不敏感
对变量大小写敏感,如:
<!DOCTYPE html>
<html>
<body>
<?php
$color="red";
echo "My car is " . $color . "<br>";
echo "My house is " . $COLOR . "<br>";
echo "My boat is " . $coLOR . "<br>";
?>
</body>
</html>
只有第一个会输出正确结果。
PHP变量
PHP变量名称对大小写敏感,且没有创建变量的关键字,变量在第一次赋值的时候被创建。PHP根据变量的值,自动将变量转换为正确的类型。
PHP变量作用域
PHP有三种不同的变量作用域:
1. local 局部
2. global 全局
3. static 静态
在函数外面定义的变量为全局变量,只能在函数外面使用,在函数内定义的变量为局部变量,只能在函数内部使用:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<?php
$x = 5;
function myTest(){
$y = 10;
echo "1. x:$x</br>";
echo "2. y:$y</br>";
}
myTest();
echo "3. x:$x</br>";
echo "4. y:$y";
?>
</body>
</html>
这是运行结果:
1. x:
2. y:10
3. x:5
4. y:
可以看到,在函数中只能使用局部变量,而且定义函数时,function相当于函数声明吧。。
global 关键词可以让全局变量在函数内部也可以访问,如:
//global关键词,可以使全局变量在函数中也可以使用:
function globalTest(){
global $x;
echo "global关键词,再次输出x:$x";
}
globalTest();
在这个函数中,方才的x就可以访问并且赋值。
实际上,global是将变量加入到了一个数组$GLOBALS[]中,我们可以这样使用:
$GLOBALS['x'] = 10;
echo "global关键词,再次输出x:$x";
这样变量$x的值又变为了10
static 关键词
一般来说,函数结束后,就会将函数内的局部变量销毁,但是假如在声明变量的第一次,使用了static 关键词,那么变量将会保存,如:
<!DOCTYPE html>
<html>
<body>
<?php
function myTest() {
static $x=0;
echo $x;
$x++;
}
myTest();
echo "<br>";
myTest();
echo "<br>";
myTest();
echo "<br>";
myTest();
echo "<br>";
myTest();
?>
</body>
</html>
上面代码的输出结果是
x:0
x:1
x:2
x:3
x:4
可以确定变量$x被保存在了内存中,并且每次static 只执行了一次,每次再使用x,都使用了上一次的值。
输出
PHP输出有两种,echo与print,两者的区别是
echo 更快一些,因为没有返回,print肯定会返回1
echo 能输出多个字符串,能输出h5标签,print只能输出一个字符串
数据类型
包括字符串,数组,整数,浮点数,逻辑,对象,NULL
字符串
字符串可以用双引号或单引号表示。
整数
整数16进制前缀为0x,8进制前缀为0
浮点数
即有小数点的数
逻辑
true false
数组
$x = array("1","2",true);
echo $x[2];
好像数组中,可以存放不同类型的东西。。
对象
即类,需要用关键字class声明,下面声明了一个Car类
class Car =
{
$color;
function Car($color = "green"){
this->color = $color;
}
}
NULL值
特殊的NULL值表示空值,可以把变量设置为NULL来清空变量值。
特殊函数
字符串函数
strlen() 返回字符串的长度,下面代码输出为7
$x = "1234567";
echo strlen($x);
strpos(mainStr,findStr) 检测第二个参数在第一个参数中的位置
$x = "1234567";
echo strpos($x,"2");
函数会返回1,即计数是从0开始的。
常量
常量即是一旦定义就无法再更改的值,并且不需要用$标识,作用域为全局,通常,使用define(argName,argValue,Bool)定义,第一个参数为常量name,第二个为常量值,第三个为是否忽视大小写,默认为false,即对大小写敏感
<?php
define("GREETING", "Welcome to W3School.com.cn!");
echo GREETING;
?>
运算符
字符串运算符
. :用来拼接字符串
$x = "hello";
$y = $x."world";
那么$y 为 hello world
逻辑运算符
与 and &&
或 or ||
非 !
异或xor
数组运算符
+ 代表联合,即将两个数组拼接起来,并不会覆盖重复的部分。
== 判断两个数组相等,即含有相同的键值对,即相等。
===绝对相等,即键值对相等,且顺序也相等。
foreach 循环
<?php
$colors = array("red","green","blue","yellow");
foreach ($colors as $value) {
echo "$value <br>";
}
?>
foreach语句会遍历$colors 数组,然后将每个元素赋给$value变量,有点像forin