一、PHP简述
PHP(全称:PHP:Hypertext Preprocessor,即”PHP:超文本预处理器”)是一种通用开源脚本语言。
在一个php文件中可以包括以下内容:
PHP 文件可包含文本、HTML、JavaScript代码和 PHP 代码
PHP 代码在服务器上执行,结果以纯 HTML 形式返回给浏览器
PHP 文件的默认文件扩展名是 “.php”
二、基本语法格式
PHP 脚本以 开始,以 ?> 结束
变量的命名
-
- 变量以
$符号开始,后面跟着变量的名称 - 变量名必须以字母或者下划线字符开始
- 变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ )
- 变量名不能包含空格
- 变量以
|
1
2
3
4
|
$a="Hello Word"; echo $a;?> |
三、数据类型、常量以及字符串
php有5种数据类型:String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)。
测试:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
$a="字符串数据类型";$b=1234; //整形$c=-2.123232;$d=8E-3; //浮点型$e=true; //boolean类型$f=array("A","B","C"); //数组类型class obj{//php对象的声明 var $num; function name() { }}$o=new obj();$g=NULL;var_dump($a);var_dump($b);var_dump($c);var_dump($d);var_dump($e);var_dump($f);var_dump($o);var_dump($g);?> |
返回结果:
常量:常量是一个简单值的标识符。该值在脚本中不能改变。(在整个脚本中都能使用)
一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。
设置常量,使用 define() 函数,函数语法如下:
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
该函数有三个参数:
|
1
2
3
|
name:必选参数,常量名称,即标志符。value:必选参数,常量的值。case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。 |
|
1
2
3
4
5
6
|
// 常量define("CL", "这是一个全局常量", true);echo CL; // 默认false,变量名区分大小写echo cl; // true不区分大小写?> |
返回结果:
字符串:
1)字符串拼接符=>’.’
|
1
2
3
4
|
echo 'a'.'b';?>// => ab |
2)`strlen` — 获取字符串长度
|
1
2
3
4
5
6
7
|
// 字符串$text1 = "hello";$text2 = "world";echo $text1 . " " . $text2 . "; // "."是并置运算符(连接)echo "返回字符串长度:",strlen($text1);?> |
返回结果:
3) `strpos` — 查找字符串首次出现的位置
|
1
2
3
4
5
6
7
|
// 字符串$text1 = "hello";$text2 = "world";echo $text1 . " " . $text2 . "; // "."是并置运算符(连接)echo "返回子串的第一次位置:",strpos($text1,'e');?> |
返回结果:
4)`str_replace` — 子字符串替换
|
1
2
3
4
5
6
|
$a='11233aert';//字符串替换函数$a1=str_replace('1','0',$a);echo $a1;?> |
返回结果:
5)`trim` — 去除字符串首尾处的空白字符
|
1
2
3
4
5
|
$str = " 这 是 一 个 有 空 格 的 字 符 串 ";$str = trim($str);echo $str; // 输出:这是一个有空格的字符串?> |
返回结果:
preg_replace() 函数:去掉字符串全部的空格
|
1
2
3
4
5
|
$str = "这 是 一 个 有 空 格 的 字 符 串";$str = preg_replace('/\s+/', '', $str);echo $str; // 输出:这是一个有空格的字符串?> |
返回结果:
6)遍历字符串
|
1
2
3
4
5
6
7
|
//遍历字符串$a = "qwetrertretret";for($i=0; $i echo $a[$i].'';}?> |
返回结果:
四、控制语句
控制语法的语句结构和其他大多数语言结构相同,有以下两类:
1、条件控制语句
if 语句 – 在条件成立时执行代码
if…else 语句 – 在条件成立时执行一块代码,条件不成立时执行另一块代码
if…elseif….else 语句 – 在若干条件之一成立时执行一个代码块
switch 语句 – 在若干条件之一成立时执行一个代码块
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
$age = 18;// if 语句 - 在条件成立时执行代码 if ($age >= 18) { echo "您已经成年"; }// if...else 语句 - 在条件成立时执行一块代码,条件不成立时执行另一块代码 if ($age >= 18) { echo "您已经成年"; } else { echo "您还未成年"; }// if...elseif....else 语句 - 在若干条件之一成立时执行一个代码块 if ($age >= 18) { echo "您已经成年"; } elseif ($age >= 16) { echo "您已接近成年"; } else { echo "您还未成年"; }// switch 语句 - 在若干条件之一成立时执行一个代码块 switch ($age) { case 18: echo "您已经成年"; break; case 16: echo "您已接近成年"; break; default: echo "您还未成年"; break; }?> |
2、循环控制语句
while – 只要指定的条件成立,则循环执行代码块
do…while – 首先执行一次代码块,然后在指定的条件成立时重复这个循环
for – 循环执行代码块指定的次数
foreach – 根据数组中每个元素来循环代码块
break语句用于终止本次循环
continue语句的作用是跳出本次循环,接着执行下一次循环
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
for ($i = 1; $i echo "这是第 ". $i. " 次循环; }// while 语句 - 只要指定的条件成立,则循环执行代码块 $count = 1; while ($count echo "这是第 ". $count. " 次循环; $count++; }// do...while 语句 - 首先执行一次代码块,然后在指定的条件成立时重复这个循环 $count = 1; do { echo "这是第 ". $count. " 次循环; $count++; } while ($count // for 语句 - 循环执行代码块指定的次数 for ( $count = 1; $count echo "这是第 ". $count. " 次循环; }// foreach 语句 - 根据数组中每个元素来循环代码块 $fruits = array("苹果", "香蕉", "橙子"); foreach ($fruits as $fruit) { echo "这是 ". $fruit. "; }// break 语句用于终止本次循环 for ($i = 1; $i if ($i == 3) { break; } echo "这是第 ". $i. " 次循环; }// continue 语句的作用是跳出本次循环,接着执行下一次循环 for ($i = 1; $i if ($i == 3) { continue; } echo "这是第 ". $i. " 次循环; }?> |
五、php函数
在 PHP 创建用户定义函数
用户定义的函数声明以单词 “function” 开头:
语法
function functionName() {
被执行的代码;
}
注释: 函数名能够以字母或下划线开头(而非数字)。
注释: 函数名对大小写不敏感。
提示: 函数名应该能够反映函数所执行的任务。
示例:
|
1
2
3
4
5
6
7
|
function sayHi() { echo "Hello world!";}sayhi(); // 调用函数?> |
1)PHP 函数形参
可以通过参数向函数传递信息。参数类似变量。
参数被定义在函数名之后,括号内部。您可以添加任意多参数,只要用逗号隔开即可。
|
1
2
3
4
5
6
7
8
9
10
|
function familyName($fname){ echo "$fname Zhang.;}familyName("LI");familyName("Hong");familyName("Tao");familyName("Xiao Mei");familyName("Jian");?> |
2)PHP 函数_默认参数
|
1
2
3
4
5
6
7
8
|
function setHeight($minheight=50){ echo "the height is: $minheight ;}setHeight(350);setHeight();setHeight(135);setHeight(80); |
3)PHP 函数带有返回值
如需使函数返回值,请使用 return 语句:
|
1
2
3
4
5
6
7
8
|
function sum($x,$y){ $z=$x+$y; return $z;}echo "5+10=" .sum(5,10) . ";echo "7+13=" .sum(7,13) . ";echo "2+4=" .sum(2,4) . "; |
4)PHP 匿名函数
匿名函数就是没有名字的函数。
将一个匿名函数”赋值”给一个变量——此时该变量就代表该匿名函数了!
|
1
2
3
4
5
|
$callfunction=function ($name){ return $name;};echo $callfunction('ZY'); |
5)PHP 回调函数
回调函数是指调用函数的时候将另一个函数作为参数传递到调用的函数中,而不是传递一个普通的变量作为参数
使用回调函数是为了可以将一段自己定义的功能传到函数内部使用
|
1
2
3
4
5
6
7
8
9
10
11
|
function Speak($a,$b){ echo "he can speak".$a; echo "; echo "she can speak".$b; } function Speak_Test(){ return call_user_func_array('Speak',array('Chinese','English')); } Speak_Test() ?> |
六、php变量作用域
在 PHP 中,可以在脚本的任意位置对变量进行声明。
变量的作用域指的是变量能够被引用/使用的那部分脚本。
PHP 有三种不同的变量作用域:
local(局部)
global(全局)
static(静态)
1)局部作用域
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
// 在函数内部声明的变量具有局部作用域function test() { $var1 = "Hello"; $var2 = "World"; echo "Inside function: "; echo $var1. " - ". $var2. ";}test(); // 输出:Inside function: Hello - World// test() 函数内部的变量 $var1 和 $var2 在函数外部无法访问echo "Outside function: ";echo $var1. " - ". $var2; // 输出为:(Not set) - (Not set)?> |
2)PHP global 关键词
global 关键词用于在函数内访问全局变量。
要做到这一点,请在(函数内部)变量前面使用 global 关键词
|
1
2
3
4
5
6
7
8
9
10
11
12
|
$x=5;$y=10;function myTest() { global $x,$y; $y=$x+$y;}myTest();echo $y; // 输出 15?> |
3)static 关键词
通常,当函数完成/执行后,会删除所有变量。不过,有时我需要不删除某个局部变量。实现这一点需要更进一步的工作。
要完成这一点,请在您首次声明变量时使用 static 关键词:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
function myTest() { static $x=0; echo $x; $x++;}myTest();myTest();myTest();?> |














