PHP 脚本可放置于文档中的任何位置。PHP 脚本以 <?php 内容 ?>
1.变量
(1)基础
变量是存储信息的容器:
变量以 $ 符号开头,其后是变量的名称,PHP 变量名称对大小写敏感!
(2)作用域
PHP 有三种不同的变量作用域:
- local(局部)
- global(全局)
- static(静态)
函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问。
函数内部声明的变量拥有 LOCAL 作用域,只能在函数内部进行访问。
global 关键词用于在函数内访问全局变量。
通常,当函数完成/执行后,会删除所有变量。不过,有时我需要不删除某个局部变量,要完成这一点,请在您首次声明变量时使用 static 关键词:
(3)变量的引用
$name = ‘aa’;
$a = &$name;
echo $a; #共用内存空间,修改变量a或name时,输出a或name的值都是一样的。
(4)变量覆盖
<?php
$a = “aaaa”; //变量已经写死
$b = a; //通过变量b修改a的值
$$b = "bbbb";
echo $a; //结果是bbbb
?>
(5)区别单引号与双引号
$i=’123’;
$demo = “<p>$i</p>”;
$demo1=’<p>$i</p>’;
echo $demo;
echo $demo1;
2.输出
(1)Echo 使用的时候可以不用加括号
echo 和 print 之间的差异:
- echo - 能够输出一个以上的字符串
- print - 只能输出一个字符串,并始终返回 1
(2)Var_dump($a) 数组
(3)Print_r($a) 数组
3.注释
// 这是单行注释
# 这也是单行注释
/* */多行注释
4.常量
设置常量,使用 define() 函数,函数语法如下:
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
该函数有三个参数:
- name:必选参数,常量名称,即标志符。
- value:必选参数,常量的值。
- case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。
define(‘a’,’1’,true);
echo A;
define(‘a’,’1’,false);
echo A;
#true与false是用来判断是否区分大小写
5.数组
(1)Array与[]
在 PHP 中,array() 函数用于创建数组
(2)数值数组(键为数字)
$cars1=array("Volvo","BMW","Toyota");#自动分配 ID 键
$cars[0]="Volvo";$cars[1]="BMW";$cars[2]="Toyota";#人工分配 ID 键
#遍历输出
for($i=0;$i<count($cars1);$i++)
echo &cars[i];
for($i=0;$i<count($cars);$i++)
echo &cars[i];
(3)关联数组(键为字符)
$age1=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43";
#遍历输出
foreach($age1 as $key => $value)
foreach($age as $key => $value)
(4)
6.运算符
(1)PHP 字符串运算符
运算符 | 名称 | 例子 | 结果 |
. | 串接 | $txt1 = "Hello" $txt2 = $txt1 . " world!" | 现在 $txt2 为 "Hello world!" |
.= | 串接赋值 | $txt1 = "Hello" $txt1 .= " world!" | 现在 $txt1 为 "Hello world!" |
(2)PHP 比较运算符
运算符 名称 例子 结果
____________________________________________________________________________________
== 等于 $x == $y 如果 $x 等于 $y,则返回 true。
=== 全等 $x === $y 如果 $x 等于 $y,且它们类型相同,则返回 true。
<> 不等于 $x <> $y 如果 $x 不等于 $y,则返回 true。
!== 不全等 $x !== $y 如果 $x 不等于 $y,或它们类型不相同,则返回 true。
(3)递增/递减运算符
++$x 前递增
$x++ 后递增
--$x 前递减
$x-- 后递减
(4)数组运算符
运算符 名称 例子 结果
+ 联合 $x + $y $x 和 $y 的联合(但不覆盖重复的键)
== 相等 $x == $y 如果 $x 和 $y 拥有相同的键/值对,则返回 true。
=== 全等 $x === $y 如果 $x 和 $y 拥有相同的键/值对,且顺序相同类型相同,则返回true。
(5)逻辑运算符
7.函数
(1)字符串函数
strlen() 返回字符串的长度,以字符计。
str_word_count() 函数对字符串中的单词进行计数
md5()
strpos("Hello world!","world") 用于检索字符串内指定的字符或文本
str_replace("world", "Kitty", "Hello world!") 用一些字符串替换字符串中的另一些字符
strtoupper()
strrev() 反转字符串
strsub(str, start, length)
eregi(string pattern, string string, [array regs]) 字符串对比解析(不区分大小写)
ereg() 类似eregi,但区分大小写
strcasecmp() 函数比较两个字符串(不区分大小写)
str_rot13() 对字符串参数进行ROT13编码,ROT13是它自己本身的逆反
(2)其他函数
①自定义
用户定义的函数声明以单词 "function" 开头:
function a(参数)
{......}
echo a(实参)
②库函数
exit() 阻止后面代码执行
setcookie(name,value,expire,path,domain,secure) 向客户端发送一个 HTTP cookie,
mysql_num_rows() 函数返回结果集中行的数目
mysql_select_db() 函数用于更改连接的默认数据库
mysql_fetch_array() 函数从结果集中取得一行作为关联数组,或数字数组,或二者兼有(没有更多行则返回false。)
8.时间日期
(1)时间戳
time() 获取时间戳
data(format,timestamp) 把时间戳格式化为更易读的日期和时间
- d - 表示月里的某天(01-31)
- m - 表示月(01-12)
- Y - 表示年(四位数)
- 1 - 表示周里的某天
- h - 带有首位零的 12 小时小时格式
- i - 带有首位零的分钟
- s - 带有首位零的秒(00 -59)
- a - 小写的午前和午后(am 或 pm)
9.文件操作
通过 include 或 require 语句,可以将 PHP 文件的内容插入另一个 PHP 文件(在服务器执行它之前)。include 和 require 语句是相同的,除了错误处理方面:
- require 会生成致命错误(E_COMPILE_ERROR)并停止脚本
- include 只生成警告(E_WARNING),并且脚本会继续
语法:include 'filename'
(1)打开 $f = fopen(“./1.txt”,”r”) ;
(2)读 Fget($f);读一行 Fread($f,2); Fclose($f); readfile() 函数读取文件,并把它写入输出缓冲。
(3)写 Fwrite($f,’aaaa’)
(4)删 Unlink($f)
10.三元运算符
语法格式
(expr1) ? (expr2) : (expr3)
对 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。
自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。
11.操作数据库
(1)连接 $a = mysql_connect(‘127.0.0.1’,’root’,’root’)
(2)修改 mysql_query(“查询语句”)
12. 表单处理
提交表单
<html><body>
<form action="welcome.php" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
</body></html>
显示内容
<html><body>
Welcome <?php echo $_POST["name"]; ?><br>
Your email address is: <?php echo $_POST["email"]; ?>
</body></html>