PHP后端
php 文件 : 可以包含文本、HTML、JS代码和PHP代码,由于php代码是在服务器上执行的,输出结果的时候,是以纯HTML的形式返回给浏览器的
php 文件的默认文件扩展名是 .php
PHP可以做什么?
- PHP 可以生成动态页面内容
- PHP 可以创建、打开、读取、写入、关闭服务器上的文件
- PHP 可以收集表单数据
- PHP 可以发送和接收 cookies
- PHP 可以添加、删除、修改您的数据库中的数据
- PHP 可以限制用户访问您的网站上的一些页面
- PHP 可以加密数据
通过php,不在限于输出HTML。也可以输出图像、PDF文件、Flash电影等等。
为什么要使用PHP?
- PHP 可在不同的平台上运行(Windows、Linux、Unix、Mac OS X 等)
- PHP 与目前几乎所有的正在被使用的服务器相兼容(Apache、IIS 等)
- PHP 提供了广泛的数据库支持
- PHP 易于学习,并可高效地运行在服务器端
PHP的基本语法
PHP脚本可以放在文档的任意位置
php标记
<?php
?>
单行注释是 : //
多行注释是: /* */
PHP 变量
变量 : 是用于存储信息的容器
<?php
$x=5;
$y=6;
$z=$x+$y;
echo $z;
?>
PHP 变量规则:
- 变量以 $ 符号开始,后面跟着变量的名称
- 变量名必须以字母或者下划线字符开始
- 变量名只能包含字母、数字以及下划线(A-z、0-9 和 _ )
- 变量名不能包含空格
- 变量名是区分大小写的($y 和 $Y 是两个不同的变量)
创建(声明)PHP 变量
PHP 没有声明变量的命令。变量在您第一次赋值给它的时候被创建
<?php
$txt="Hello world!";
$x=5;
$y=10.5;
?>
在上面的语句执行中,变量 txt 将保存值 Hello world! ,且变量 x 将保存值 5 。
注意: 当赋一个文本值给变量时,需要在文本值两侧加上引号。
PHP 是一门弱类型语言
在上面的实例中,我们注意到,不必向 PHP 声明该变量的数据类型。
PHP 会根据变量的值,自动把变量转换为正确的数据类型。
在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称。
局部和全局作用域
在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问, 要在一个函数中访问一个全局变量,需要使用 global 关键字
在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问:
<?php
$x=5; // 全局变量
function myTest()
{
$y=10; // 局部变量
echo "<p>测试函数内变量:<p>";
echo "变量 x 为: $x"; //报错
echo "<br>";
echo "变量 y 为: $y";
}
myTest();
echo "<p>测试函数外变量:<p>";
echo "变量 x 为: $x";
echo "<br>";
echo "变量 y 为: $y"; //报错
?>
在函数中访问全局变量
<?php
// 全局变量
$x=5;
function myTest()
{
global $x; //使用关键字
$y=10; // 局部变量
echo "<p>测试函数内变量:<p>";
echo $x; //5
echo "<br>";
echo "变量 y 为: $y";
}
myTest();
echo "<p>测试函数外变量:<p>";
echo "变量 x 为: $x";
echo "<br>";
//echo "变量 y 为: $y";
?>
PHP global 关键字
global 关键字用于函数内访问全局变量。
在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字:
<?php
$x=5;
$y=10;
function myTest()
{
global $x,$y;
$y=$x+$y;
}
myTest();
echo $y; // 输出 15
?>
PHP 将所有全局变量存储在一个名为 $GLOBALS[ index ] 的数组中。 index 保存变量的名称。这个数组可 以在函数内部访问,也可以直接用来更新全局变量。
上面的实例可以写成这样:
<?php
$x=5;
$y=10;
function myTest()
{
$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
}
myTest();
echo $y;
?>
Static 作用域
当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除。 要做到这一点,请在第一次声明变量时使用 static 关键字:
<?php
function myTest()
{
static $x=0; //static关键字删除之后 所有结果都是0
echo $x;
$x++;
echo PHP_EOL; // 换行符
}
myTest();
myTest();
myTest();
?>
然后,每次调用该函数时,该变量将会保留着函数前一次被调用时的值。
参数作用域
参数是通过调用代码将值传递给函数的局部变量。
参数是在参数列表中声明的,作为函数声明的一部分:
<?php
function myTest($x)
{
echo $x;
}
myTest(5);
?>
PHP 字符串变量
字符串变量用于存储并处理文本。
字符串变量用于包含有字符的值。
在创建字符串之后,我们就可以对它进行操作了。您可以直接在函数中使用字符串,或者把它存储在变 量中。
在下面的实例中,我们创建一个名为 txt 的字符串变量,并赋值为 "Hello world!" 。然后我们输出 txt 变 量的值:
<?php
$txt="Hello world!";
echo $txt;
?>
PHP 并置运算符
在 PHP 中,只有一个字符串运算符。
并置运算符 (.) 用于把两个字符串值连接起来。
下面的实例演示了如何将两个字符串变量连接在一起:
<?php
$txt1="Hello world!";
$txt2="What a nice day!";
echo $txt1 . " " . $txt2;
?>
上面的代码将输出: Hello world! What a nice day
PHP strlen() 函数
有时知道字符串值的长度是很有用的。
strlen() 函数返回字符串的长度(字节数)。
下面的实例返回字符串 "Hello world!" 的长度:
<?php
echo strlen("Hello world!");
?>
上面的代码输出为: 12。
提示: strlen() 常常用在循环和其他函数中,因为那时确定字符串何时结束是很重要的。(例如,在循环 中,我们需要在字符串中的最后一个字符之后结束循环。)
PHP strpos() 函数
strpos() 函数用于在字符串内查找一个字符或一段指定的文本。
如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE 。 下面的实例在字符串 "Hello world!" 中查找文本 "world" :
<?php
echo strpos("Hello world!","world");
?>
上面的代码将输出: 6
提示: 在上面的实例中,字符串 "world" 的位置是 6 。之所以是 6 而不是 7 的原因是,字符串中第一个 字符的位置是 0 ,而不是 1 。后面数组下标也是从 0开始。
PHP运算符
在 PHP 中,赋值运算符 = 用于给变量赋值。
在 PHP 中,算术运算符 + 用于把值加在一起。
PHP 算术运算符
运算符 | 名称 | 描述 | 实例 | 结果 |
x + y | 加 | x和y的和 | 2 + 2 | 4 |
x - y | 减 | x和y的差 | 5 - 3 | 3 |
x * y | 乘 | x和y的积 | 5 * 2 | 10 |
x / y | 除 | x和y的商 | 15 / 5 | 3 |
x % y | 模(除法的余数) | x除以y的余数 | 5 % 2 10 % 8 10 % 2 | 1 2 |
-x | 设置负数 | 取 x 的相反符号 | <?php $x = 2 ; echo - $x ; ?> | - 2 |
~x | 取反 | x 取反,按二进制位进行 " 取反 " 运算。运 算规则: ~1= - 2 ; ~0= - 1 ; | <?php $x = 2 ; echo ~$x ; ?> | - 3 |
a.b | 并置 | 连接两个字符串 | "Hi" . "Ha" | HiHa |
<?php
$x=10;
$y=6;
echo ($x + $y); // 输出16
echo '<br>'; // 换行
echo ($x - $y); // 输出4
echo '<br>'; // 换行
echo ($x * $y); // 输出60
echo '<br>'; // 换行
echo ($x / $y); // 输出1.6666666666667
echo '<br>'; // 换行
echo ($x % $y); // 输出4
echo '<br>'; // 换行
echo -$x;
?>
PHP 赋值运算符
运算符 | 等同于 | 描述 |
x = y | x = y | 左操作数被设置为右侧表达式的值 |
x + = y | x = x + y | 加 |
x - = y | x = x - y | 减 |
x * = y | x = x * y | 乘 |
x /= y | x = x / y | 除 |
x %= y | x = x % y | 模(除法的余数) |
a .= b | a = a . b | 连接两个字符串 |
<?php
$x=10;
echo $x; // 输出10
$y=20;
$y += 100;
echo $y; // 输出120
$z=50;
$z -= 25;
echo $z; // 输出25
$i=5;
$i *= 6;
echo $i; // 输出30
$j=10;
$j /= 5;
echo $j; // 输出2
$k=15;
$k %= 4;
echo $k; // 输出3
?>
<?php
$a = "Hello";
$b = $a . " world!";
echo $b; // 输出Hello world!
$x="Hello";
$x .= " world!";
echo $x; // 输出Hello world!
?>
PHP 递增/递减运算符
运算符 | 名称 | 描述 |
++ x | 预递增 | x 加 1 ,然后返回 x |
x ++ | 后递增 | 返回 x ,然后 x 加 1 |
-- x | 预递减 | x 减 1 ,然后返回 x |
x -- | 后递减 | 返回 x ,然后 x 减 1 |
<?php
$x=10;
echo ++$x; // 输出11
$y=10;
echo $y++; // 输出10
$z=5;
echo --$z; // 输出4
$i=5;
echo $i--; // 输出5
?>
PHP 比较运算符
运算符 | 名称 | 描述 | 实例 |
x == y | 等于 | 如果 x 等于 y ,则返回 true | 5==8 返回 false |
x === y | 绝对等于 | 如果 x 等于 y ,且它们类型相同,则返回 true | 5==="5" 返回 false |
x != y | 不等于 | 如果 x 不等于 y ,则返回 true | 5!=8 返回 true |
x <> y | 不等于 | 如果 x 不等于 y ,则返回 true | 5<>8 返回 true |
x !== y | 不绝对等于 | 如果 x 不等于 y ,或它们类型不相同,则返回true | 5!=="5" 返回 true |
x > y | 大于 | 如果 x 大于 y ,则返回 true | 5>8 返回 false |
x < y | 小于 | 如果 x 小于 y ,则返回 true | 5<8 返回 true |
x >= y | 大于等于 | 如果 x 大于或者等于 y ,则返回 true | 5>=8 返回 false |
x <= y | 小于等于 | 如果 x 小于或者等于 y ,则返回 true | 5<=8 返回 true |
<?php
$x=100;
$y="100";
var_dump($x==$y);
echo"<br>";
var_dump($x===$y);echo"<br>";
var_dump($x!=$y);
echo"<br>";
var_dump($x!==$y);echo"<br>";
$a=50;
$b=90;
var_dump($a>$b);
echo"<br>";
var_dump($a<$b);
?>
PHP 逻辑运算符
运算符 | 名称 | 描述 | 实例 |
x and y | 与 | 如果 x 和 y 都为 true ,则返回 true | x=6 y=3 (x < 10 and y > 1) 返回 true |
x or y | 或 | 如果 x 和 y 至少有一个为 true ,则返回 true | x=6 y=3 (x==6 or y==5) 返回 true |
x xor y | 异 或 | 如果 x 和 y 有且仅有一个为 true ,则返回 true | x=6 y=3 (x==6 xor y==3) 返回 false |
x && y | 与 | 如果 x 和 y 都为 true ,则返回 true | x=6 y=3 (x < 10 && y > 1) 返回 true |
x || y | 或 | 如果 x 和 y 至少有一个为 true ,则返回 true | x=6 y=3 (x==5 || y==5) 返回 false |
! x | 非 | 如果 x 不为 true ,则返回 true | x=6 y=3 !(x==y) 返回 true |
数组运算符
运算符 | 名称 | 描述 |
x + y | 集合 | x 和 y 的集合 |
x == y | 相等 | 如果 x 和 y 具有相同的键 / 值对,则返回 true |
x === y | 恒等 | 如果 x 和 y 具有相同的键 / 值对,且顺序相同类型相同,则返回 true |
x != y | 不相等 | 如果 x 不等于 y ,则返回 true |
x <> y | 不相等 | 如果 x 不等于 y ,则返回 true |
x !== y | 不恒等 | 如果 x 不等于 y ,则返回 true |
<?php
$x=array("a"=>"red","b"=>"green");
$y=array("c"=>"blue","d"=>"yellow");$z=$x+$y;//$x和$y数组合并
var_dump($z);
var_dump($x==$y);
var_dump($x===$y);
var_dump($x!=$y);
var_dump($x<>$y);
var_dump($x!==$y);
?>
三元运算符
另一个条件运算符是 "?:" (或三元)运算符。
语法格式
( expr1 ) ? ( expr2 ):( expr3 )
<?php
//普通写法
$username=11>10?'yes':'no';echo$username,PHP_EOL;
?>
PHP If...Else 语句
PHP 条件语句
当编写代码时,需要为不同的判断执行不同的动作。可以在代码中使用条件语句来完成此任
务。
在 PHP 中,提供了下列条件语句:
if 语句 - 在条件成立时执行代码
if...else 语句 - 在条件成立时执行一块代码,条件不成立时执行另一块代码
if...elseif....else 语句 - 在若干条件之一成立时执行一个代码块
switch 语句 - 在若干条件之一成立时执行一个代码块
if 语句
if 语句用于 仅当指定条件成立时执行代码 。
语法
if (条件)
{
条件成立时要执行的代码;
}
if...else 语句
在条件成立时执行一块代码,条件不成立时执行另一块代码 ,请使用 if....else 语句。
if (条件)
{
条件成立时执行的代码;
}
else
{
条件不成立时执行的代码;
}
if...elseif....else 语句
在若干条件之一成立时执行一个代码块 ,请使用 if....elseif...else 语句。
if (条件)
{
if 条件成立时执行的代码;
}
elseif (条件)
{
elseif 条件成立时执行的代码;
}
else
{
条件不成立时执行的代码;
}
switch 语句
switch 语句用于根据多个不同条件执行不同动作。
如果您希望 有选择地执行若干代码块之一 ,请使用 switch 语句
<?php
switch (n)
{
case label1:
如果 n=label1,此处代码将执行;
break;
case label2:
如果 n=label2,此处代码将执行;
break;
default:
如果 n 既不等于 label1 也不等于 label2,此处代码将执行;
}
?>
工作原理:首先对一个简单的表达式 n (通常是变量)进行一次计算。将表达式的值与结构中每个 case 的值进行比较。如果存在匹配,则执行与 case 关联的代码。代码执行后,使用 break 来阻止代码跳入 下一个 case 中继续执行。 default 语句用于不存在匹配(即没有 case 为真)时执行。
PHP 循环
在 PHP 中,提供了下列循环语句:
while - 只要指定的条件成立,则循环执行代码块
do...while - 首先执行一次代码块,然后在指定的条件成立时重复这个循环
for - 循环执行代码块指定的次数
foreach - 根据数组中每个元素来循环代码块
while 循环
while 循环将重复执行代码块,直到指定的条件不成立。
while (条件)
{
要执行的代码;
}
do...while 语句
do...while 语句会至少执行一次代码,然后检查条件,只要条件成立,就会重复进行循环。
do
{
要执行的代码;
}
while (条件);
For 循环
for 循环用于您预先知道脚本需要运行的次数的情况。
语法
for (初始值; 条件; 增量)
{
要执行的代码;
}
参数:
初始值 :主要是初始化一个变量值,用于设置一个计数器(但可以是任何在循环的开始被执行一次
的代码)。
条件 :循环执行的限制条件。如果为 TRUE ,则循环继续。如果为 FALSE ,则循环结束。
增量 :主要用于递增计数器(但可以是任何在循环的结束被执行的代码)。
注释: 上面的 初始值 和 增量 参数可为空,或者有多个表达式
foreach 循环
foreach 循环用于遍历数组。
foreach ($array as $value)
{
要执行代码;
}
每进行一次循环,当前数组元素的值就会被赋值给 $value 变量(数组指针会逐一地移动),在进行下一 次循环时,您将看到数组中的下一个值。
foreach ($array as $key => $value)
{
要执行代码;
}
PHP 数组
数组能够在单个变量中存储多个值
数组是什么?
数组是一个能在单个变量中存储多个值的特殊变量。
如果您有一个项目清单(例如:车名字的清单),将其存储到单个变量中,如下所示
$cars1="Volvo";
$cars2="BMW";
$cars3="Toyota";
然而,如果您想要遍历数组并找出特定的一个呢?如果数组的项不只 3 个而是 300 个呢?
解决办法是创建一个数组!
数组可以在单个变量中存储多个值,并且您可以根据键访问其中的值。
在 PHP 中创建数组
在 PHP 中, array() 函数用于创建数组
array();
在 PHP 中,有三种类型的数组:
数值数组 - 带有数字 ID 键的数组
关联数组 - 带有指定的键的数组,每个键关联一个值
多维数组 - 包含一个或多个数组的数组
PHP 数值数组
这里有两种创建数值数组的方法:
自动分配 ID 键( ID 键总是从 0 开始)
$cars=array("Volvo","BMW","Toyota");
人工分配 ID 键
$cars[0]="Volvo";
$cars[1]="BMW";
$cars[2]="Toyota";
获取数组的长度 - count() 函数
count() 函数用于返回数组的长度(元素的数量)
<?php
$cars=array("Volvo","BMW","Toyota");
echo count($cars);
?>