php
- PHP 是 “PHP Hypertext Preprocessor” 的首字母缩略词
- PHP 是一种被广泛使用的开源脚本语言
- PHP 脚本在服务器上执行
- PHP 没有成本,可供免费下载和使用
php文件
- PHP 文件能够包含文本、HTML、CSS 以及 PHP 代码
- PHP 代码在服务器上执行,而结果以纯文本返回浏览器
- PHP 文件的后缀是 “.php”
PHP 能够做什么?
- PHP 能够生成动态页面内容
- PHP 能够创建、打开、读取、写入、删除以及关闭服务器上的文件
- PHP 能够接收表单数据
- PHP 能够发送并取回 cookies
- PHP 能够添加、删除、修改数据库中的数据
- PHP 能够限制用户访问网站中的某些页面
- PHP 能够对数据进行加密
基础 PHP 语法
- PHP 脚本可放置于文档中的任何位置。
- PHP 脚本以 <?php 开头,以 ?> 结尾:
<?php
// 此处是 PHP 代码
?>
- PHP 文件的默认文件扩展名是 “.php”。
- PHP 文件通常包含 HTML 标签以及一些 PHP 脚本代码。
- PHP 语句以分号结尾(;)。PHP 代码块的关闭标签也会自动表明分号(因此在 PHP 代码块的最后一行不必使用分号)。
php支持三种注释:
<?php
// 这是单行注释
# 这也是单行注释
/*
这是多行注释块
它横跨了
多行
*/
?>
PHP 大小写敏感:
- 在 PHP 中,所有用户定义的函数、类和关键词(例如 if、else、echo 等等)都对大小写不敏感。
- 在 PHP 中,所有变量都对大小写敏感。
PHP 变量
PHP 变量规则:
- 变量以 $ 符号开头,其后是变量的名称
- 变量名称必须以字母或下划线开头
- 变量名称不能以数字开头
- 变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)
- 变量名称对大小写敏感($y 与 $Y 是两个不同的变量)
PHP 没有创建变量的命令。变量会在首次为其赋值时被创建。
PHP 变量作用域:
- 在 PHP 中,可以在脚本的任意位置对变量进行声明。
- 变量的作用域指的是变量能够被引用/使用的那部分脚本。
- PHP 有三种不同的变量作用域:
- local(局部)
global(全局)
static(静态)
- local(局部)
函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问。
函数内部声明的变量拥有 LOCAL 作用域,只能在函数内部进行访问。
global 关键词用于在函数内访问全局变量。在(函数内部)变量前面使用 global 关键词。
PHP 同时在名为 $GLOBALS[index] 的数组中存储了所有的全局变量。下标存有变量名。这个数组在函数内也可以访问,并能够用于直接更新全局变量。
通常,当函数完成/执行后,会删除所有变量。不过,有时需要不删除某个局部变量。要完成这一点,需在首次声明变量时使用 static 关键词。
PHP 对象
- 对象是存储数据和有关如何处理数据的信息的数据类型。
- 在 PHP 中,必须明确地声明对象。
- 首先必须声明对象的类。对此,使用 class 关键词。类是包含属性和方法的结构。
- 然后在对象类中定义数据类型,然后在该类的实例中使用此数据类型
PHP NULL 值
- 特殊的 NULL 值表示变量无值。NULL 是数据类型 NULL 唯一可能的值。
- NULL 值标示变量是否为空。也用于区分空字符串与空值数据库。
- 可以通过把值设置为 NULL,将变量清空:
$x=null;
PHP 字符串函数
- strlen() 函数返回字符串的长度,以字符计。
- str_word_count() 函数对字符串中的单词进行计数:
- strrev() 函数反转字符串:
- strpos() 函数用于检索字符串内指定的字符或文本。(如果找到匹配,则会返回首个匹配的字符位置。如果未找到匹配,则将返回 FALSE。)
strpos(“Hello world!”,“world”); // 检索字符串 “Hello world!” 中的文本 “world” - str_replace() 函数用一些字符串替换字符串中的另一些字符。
str_replace(“world”, “Kitty”, “Hello world!”); // 输出 Hello Kitty!
PHP 常量
- 常量是单个值的标识符(名称)。在脚本中无法改变该值。
- 有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号)。
- 常量贯穿整个脚本是自动全局的。
- 设置PHP 常量,如需设置常量,使用 define() 函数 - 它使用三个参数:
- 首个参数定义常量的名称
- 第二个参数定义常量的值
- 可选的第三个参数规定常量名是否对大小写不敏感。默认是 false。
PHP 运算符
PHP 字符串运算符
PHP 比较运算符
PHP 比较运算符用于比较两个值(数字或字符串):
PHP 逻辑运算符
PHP 数组运算符
PHP 数组运算符用于比较数组:
PHP 条件语句
if…elseif…else 语句
if (条件) {
条件为 true 时执行的代码;
} elseif (condition) {
条件为 true 时执行的代码;
} else {
条件为 false 时执行的代码;
}
Switch 语句
switch (expression)
{
case label1:
expression = label1 时执行的代码 ;
break;
case label2:
expression = label2 时执行的代码 ;
break;
default:
表达式的值不等于 label1 及 label2 时执行的代码;
}
PHP 循环
- while - 只要指定条件为真,则循环代码块
- do…while - 先执行一次代码块,然后只要指定条件为真则重复循环
- for - 循环代码块指定次数
- foreach - 遍历数组中的每个元素并循环代码块
foreach 循环只适用于数组,并用于遍历数组中的每个键/值对。
每进行一次循环迭代,当前数组元素的值就会被赋值给 $value 变量,并且数组指针会逐一地移动,直到到达最后一个数组元素。
<?php
$colors = array("red","green","blue","yellow");
foreach ($colors as $value) {
echo "$value <br>";
}
?>
PHP 函数
PHP 的真正力量来自它的函数:它拥有超过 1000 个内建的函数。
用户定义的函数声明以单词 “function” 开头:
function functionName() {
被执行的代码;
}
函数名:
- 函数名能够以字母或下划线开头(而非数字)。
- 函数名对大小写不敏感。
- 函数名应该能够反映函数所执行的任务。
函数参数
- 可以通过参数向函数传递信息。参数类似变量。
- 参数被定义在函数名之后,括号内部。可以添加任意多参数,只要用逗号隔开即可。
- 默认参数值
<?php
function setHeight($minheight=50) {
echo "The height is : $minheight <br>";
}
setHeight(350);
setHeight(); // 将使用默认值 50
setHeight(135);
setHeight(80);
?>
函数返回值:
如需使函数返回值,使用 return 语句。
PHP 数组
在 PHP 中, array() 函数用于创建数组:
array();
在 PHP 中,有三种数组类型:
- 索引数组 - 带有数字索引的数组
- 关联数组 - 带有指定键的数组
- 多维数组 - 包含一个或多个数组的数组
count() 函数用于返回数组的长度(元素数)。
索引数组的两种创建方法:
- 索引是自动分配的(索引从 0 开始)
- 也可以手动分配索引
$cars=array("porsche","BMW","Volvo");
或
$cars[0]="porsche";
$cars[1]="BMW";
$cars[2]="Volvo";
遍历索引数组
<?php
$cars=array("porsche","BMW","Volvo");
$arrlength=count($cars);
for($x=0;$x<$arrlength;$x++) {
echo $cars[$x];
echo "<br>";
}
?>
关联数组:
关联数组是使用分配给数组的指定键的数组。
关联数组的两种创建方法:
$age=array("Bill"=>"35","Steve"=>"37","Elon"=>"43");
或
$age['Bill']="63";
$age['Steve']="56";
$age['Elon']="47";
遍历关联数组
<?php
$age=array("Bill"=>"63","Steve"=>"56","Elon"=>"47");
foreach($age as $x=>$x_value) {
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>
数组的排序函数
sort() - 以升序对数组排序
rsort() - 以降序对数组排序
asort() - 根据值,以升序对关联数组进行排序
ksort() - 根据键,以升序对关联数组进行排序
arsort() - 根据值,以降序对关联数组进行排序
krsort() - 根据键,以降序对关联数组进行排序