PHP是什么?
PHP 是⼀种创建动态交互性站点的强有⼒的服务器端脚本语⾔
PHP(全称:PHP:Hypertext Preprocessor,即"PHP:超⽂本预处理器")是⼀种通⽤开源脚本语⾔。
PHP 脚本在服务器上执⾏。
PHP 可免费下载使⽤。
PHP文件是什么?
PHP ⽂件可包含⽂本、HTML、JavaScript代码和 PHP 代码
PHP 代码在服务器上执⾏,结果以纯 HTML 形式返回给浏览器
PHP ⽂件的默认⽂件扩展名是 “.php”
PHP能做什么?
1、PHP 可以⽣成动态⻚⾯内容
2、PHP 可以创建、打开、读取、写⼊、关闭服务器上的⽂件
3、PHP 可以收集表单数据
4、PHP 可以发送和接收 cookies
5、PHP 可以添加、删除、修改您的数据库中的数据
6、PHP 可以限制⽤户访问您的⽹站上的⼀些⻚⾯
7、PHP 可以加密数据
为什么使用PHP?
1、PHP 可在不同的平台上运⾏(Windows、Linux、Unix、Mac OS X 等)
2、PHP 与⽬前⼏乎所有的正在被使⽤的服务器相兼容(Apache、IIS 等)
3、PHP 提供了⼴泛的数据库⽀持
4、PHP 易于学习,并可⾼效地运⾏在服务器端
PHP语法?
PHP 脚本可以放在⽂档中的任何位置。
PHP 脚本以 <?php 开始,以?>结束:
PHP ⽂件的默认⽂件扩展名是 “.php”。
PHP ⽂件通常包含 HTML 标签和⼀些 PHP 脚本代码。
<!DOCTYPE html>
<html>
<body>
<h1>My first PHP page</h1>
<?php
echo "Hello World!";
?>
</body>
</html>
PHP 中的每个代码⾏都必须以分号结束。分号是⼀种分隔符,⽤于把指令集区分开来。
通过 PHP,有两种在浏览器输出⽂本的基础指令:echo 和 print。
PHP注释
// 单⾏注释
/* */ 多⾏注释
变量
变量是⽤于存储信息的"容器
PHP 变量规则
变量以 $ 符号开始,后⾯跟着变量的名称
变量名必须以字⺟或者下划线字符开始
变量名只能包含字⺟、数字以及下划线(A-z、0-9 和 _ )
变量名不能包含空格 变量名是区分⼤⼩写的($y 和 $Y 是两个不同的变量)
创建PHP变量
PHP 没有声明变量的命令。
变量在您第⼀次赋值给它的时候被创建
<?php
$txt="Hello world!";
$x=5;
$y=10.5;
?>
注释:当您赋⼀个⽂本值给变量时,请在⽂本值两侧加上引号
PHP是一门弱类型语言
PHP 会根据变量的值,⾃动把变量转换为正确的数据类型。 在强类型的编程语⾔中,我们必须在使⽤变量前先声明(定义)变量的类型和名称
echo和print语句
echo 和 print 区别:
echo - 可以输出⼀个或多个字符串
print - 只允许输出⼀个字符串,返回值总为 1
提示:echo 输出的速度⽐ print 快, echo 没有返回值,print有返回值1。
echo 是⼀个语⾔结构,使⽤的时候可以不⽤加括号,也可以加上括号: echo 或 echo()。
<?php
echo "<h2>PHP 很有趣!</h2>";
echo "Hello world!<br>";
echo "我要学 PHP!<br>";
echo "这是⼀个", "字符串,", "使⽤了", "多个", "参数。";
?>
显示变量
<?php
$txt1="学习 PHP";
$txt2="xbxaq.com";
$cars=array("Volvo","BMW","Toyota");
echo $txt1;
echo "<br>";
echo "在 $txt2 学习 PHP ";
echo "<br>";
echo "我⻋的品牌是 {$cars[0]}";
?>
print 同样是⼀个语⾔结构,可以使⽤括号,也可以不使⽤括号: print 或 print()。
<?php
print "<h2>PHP 很有趣!</h2>";
print "Hello world!<br>";
print "我要学习 PHP!";
?>
数据类型
PHP 变量存储不同的类型的数据,不同的数据类型可以做不⼀样的事情。
PHP ⽀持以下⼏种数据类型:
- String(字符串)
- Integer(整型)
- Float(浮点型)
- Boolean(布尔型)
- Array(数组)
- Object(对象)
- NULL(空值)
- Resource(资源类型)
字符串
⼀个字符串是⼀串字符的序列,就像 “Hello world!”。
你可以将任何⽂本放在单引号和双引号中
<?php
$x = "Hello world!";
echo $x;
echo "<br>";
$x = 'Hello world!';
echo $x;
?>
整形
整数是⼀个没有⼩数的数字。
整数规则:
- 整数必须⾄少有⼀个数字 (0-9)
- 整数不能包含逗号或空格
- 整数是没有⼩数点的
- 整数可以是正数或负数
- 整型可以⽤三种格式来指定:⼗进制, ⼗六进制( 以 0x 为前缀)或⼋进制(前缀为 0)。
PHP var_dump() 函数返回变量的数据类型和值
<?php
$x = 5985;
var_dump($x);
echo "<br>";
$x = -345; // 负数
var_dump($x);
echo "<br>";
$x = 0x8C; // ⼗六进制数
var_dump($x);
echo "<br>";
$x = 047; // ⼋进制数
var_dump($x);
?>
浮点型
浮点数是带⼩数部分的数字,或是指数形式
<?php
$x = 10.365;
var_dump($x);
echo "<br>";
$x = 2.4e3;
var_dump($x);
echo "<br>";
$x = 8E-5;
var_dump($x);
?>
布尔型
布尔型可以是 TRUE 或 FALSE 布尔型通常⽤于条件判断
数组
数组可以在⼀个变量中存储多个值
<?php
$cars=array("Volvo","BMW","Toyota");
var_dump($cars);
?
对象
对象数据类型也可以⽤于存储数据。
在 PHP 中,对象必须声明。
⾸先,你必须使⽤class关键字声明类对象。类是可以包含属性和⽅法的结构。
然后我们在类中定义数据类型,然后在实例化的类中使⽤数据类型
<?php
class Car
{
var $color;
function __construct($color="green") {
$this->color = $color;
}
function what_color() {
return $this->color;
}
}
?>
NULL值
NULL 值表示变量没有值。NULL 是数据类型为 NULL 的值。
NULL 值指明⼀个变量是否为空值。 同样可⽤于数据空值和NULL值的区别。
可以通过设置变量值为 NULL 来清空变量数据
<?php
$x="Hello world!";
$x=null;
var_dump($x);
?>
类型比较
虽然 PHP 是弱类型语⾔,但也需要明⽩变量类型及它们的意义,因为我们经常需要对 PHP 变量进⾏⽐较,包含松 散和严格⽐较。
松散⽐较:使⽤两个等号 == ⽐较,只⽐较值,不⽐较类型。
严格⽐较:⽤三个等号 === ⽐较,除了⽐较值,也⽐较类型。
例如,“42” 是⼀个字符串⽽ 42 是⼀个整数。FALSE 是⼀个布尔值⽽ “FALSE” 是⼀个字符串。
<?php
if(42 == "42") {
echo '1、值相等';
}
echo PHP_EOL; // 换⾏符
if(42 === "42") {
echo '2、类型相等';
} else {
echo '3、类型不相等';
}
?>
PHP中比较,0,false,null
<?php
echo '0 == false: ';
var_dump(0 == false);
echo '0 === false: ';
var_dump(0 === false);
echo "<hr />";
echo '0 == null: ';
var_dump(0 == null);
echo '0 === null: ';
var_dump(0 === null);
echo "<hr />";
echo 'false == null: ';
var_dump(false == null);
echo 'false === null: ';
var_dump(false === null);
echo "<hr />";
echo '"0" == false: ';
var_dump("0" == false);
echo '"0" === false: ';
var_dump("0" === false);
echo "<hr />";
echo '"0" == null: ';
var_dump("0" == null);
echo '"0" === null: ';
var_dump("0" === null);
echo "<hr />";
echo '"" == false: ';
var_dump("" == false);
echo '"" === false: ';
var_dump("" === false);
echo "<hr />";
echo '"" == null: ';
var_dump("" == null);
echo '"" === null: ';
var_dump("" === null);
?>
常量
常量值被定义后,在脚本的其他任何地⽅都不能被改变
常量是⼀个简单值的标识符。该值在脚本中不能改变。
⼀个常量由英⽂字⺟、下划线、和数字组成,但数字不能作为⾸字⺟出现。 (常量名不需要加 $ 修饰符)。
注意: 常量在整个脚本中都可以使⽤。
设置常量,使⽤ define() 函数,函数语法如下
bool define ( string $name , mixed $value [, bool $case_insensitive = false ]
该函数有三个参数:
-
name:必选参数,常量名称,即标志符。
-
value:必选参数,常量的值。
-
case_insensitive :可选参数,如果设置为 TRUE,该常量则⼤⼩写不敏感。默认是⼤⼩写敏感的
创建⼀个 区分⼤⼩写的常量, 常量值为 “欢迎访问taobao.com”
<?php
// 区分⼤⼩写的常量名
define("GREETING", "欢迎访问 taobao.com");
echo GREETING; // 输出
echo '<br>';
echo greeting; // 输出 "greeting",但是有警告信息,表示该常量未定义
?>
运算符
PHP 中,赋值运算符 = ⽤于给变量赋值。
在 PHP 中,算术运算符 + ⽤于把值加在⼀起。
算术运算符
<?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=10;
echo $x; // 输出10
echo "<hr />";
$y=20;
$y += 100;
echo $y; // 输出120
echo "<hr />";
$z=50;
$z -= 25;
echo $z; // 输出25
echo "<hr />";
$i=5;
$i *= 6;
echo $i; // 输出30
echo "<hr />";
$j=10;
$j /= 5;
echo $j; // 输出2
echo "<hr />";
$k=15;
$k %= 4;
echo $k; // 输出3
?>
递增/递减运算符
<?php
$x=10;
echo ++$x; // 输出11
echo "<hr />";
$y=10;
echo $y++; // 输出10
echo "<hr />";
$z=5;
echo --$z; // 输出4
echo "<hr />";
$i=5;
echo $i--; // 输出5
?>
比较运算符
<?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);
?>
三元运算符
(expr1) ? (expr2) : (expr3)
对 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。
条件语句
if 语句 - 在条件成⽴时执⾏代码
if…else 语句 - 在条件成⽴时执⾏⼀块代码,条件不成⽴时执⾏另⼀块代码
if…elseif…else 语句 - 在若⼲条件之⼀成⽴时执⾏⼀个代码块
switch 语句 - 在若⼲条件之⼀成⽴时执⾏⼀个代码块
if 语法
if (条件)
{
条件成⽴时要执⾏的代码;
}
<?php
$t=date("H");
if ($t<"20")
{
echo "Have a good day!";
}
?>
if…else语句
在条件成⽴时执⾏⼀块代码,条件不成⽴时执⾏另⼀块代码,请使⽤ if....else 语句。
if (条件)
{
条件成⽴时执⾏的代码;
}
else
{
条件不成⽴时执⾏的代码;
}
<?php
$t=date("H");
if ($t<"20")
{
echo "Have a good day!";
}
else
{
echo "Have a good night!";
}
?>
if…elseif…else语句
在若⼲条件之⼀成⽴时执⾏⼀个代码块,请使⽤ if....elseif...else 语句。
if (条件)
{
if 条件成⽴时执⾏的代码;
}
elseif (条件)
{
elseif 条件成⽴时执⾏的代码;
}
else
{
条件不成⽴时执⾏的代码;
}
<?php
$t=date("H");
if ($t<"10")
{
echo "Have a good morning!";
}
elseif ($t<"20")
{
echo "Have a good day!";
}
else
{
echo "Have a good night!";
}
?>
switch语句
switch 语句⽤于根据多个不同条件执⾏不同动作。
如果希望有选择地执⾏若⼲代码块之⼀,请使⽤ switch 语句。
<?php
$favcolor="red";
switch ($favcolor)
{
case "red":
echo "你喜欢的颜⾊是红⾊!";
break;
case "blue":
echo "你喜欢的颜⾊是蓝⾊!";
break;
case "green":
echo "你喜欢的颜⾊是绿⾊!";
break;
default:
echo "你喜欢的颜⾊不是 红, 蓝, 或绿⾊!";
}
?>
数组
数组能够在单个变量中存储多个值
数组可以在单个变量中存储多个值,并且您可以根据键访问其中的值。
<?php
$cars=array("Volvo","BMW","Toyota");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>
创建数组
在 PHP 中,array() 函数⽤于创建数组:
array();
在 PHP 中,有三种类型的数组:
数值数组 - 带有数字 ID 键的数组
关联数组 - 带有指定的键的数组,每个键关联⼀个值
多维数组 - 包含⼀个或多个数组的数组
数值数组
<?php
⾃动分配 ID 键(ID 键总是从 0 开始):
$cars=array("Volvo","BMW","Toyota");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>
获取数组的⻓度 - count() 函数
count() 函数⽤于返回数组的⻓度(元素的数量)
<?php
$cars=array("Volvo","BMW","Toyota");
echo count($cars);
?>
遍历数值数组
遍历并打印数值数组中的所有值,可以使⽤ for 循环
<?php
$cars=array("Volvo","BMW","Toyota");
$arrlength=count($cars);
for($x=0;$x<$arrlength;$x++)
{
echo $cars[$x];
echo "<br>";
}
?>
关联数组
关联数组是使⽤你分配给数组的指定的键的数组
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
or
$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43";
遍历关联数组
遍历并打印关联数组中的所有值,您可以使⽤ foreach 循环
<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
foreach($age as $x=>$x_value)
{
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>
循环
循环执⾏代码块指定的次数,或者当指定的条件为真时循环执⾏代码块。
在 PHP 中,提供了下列循环语句:
while - 只要指定的条件成⽴,则循环执⾏代码块
do…while - ⾸先执⾏⼀次代码块,然后在指定的条件成⽴时重复这个循环
or - 循环执⾏代码块指定的次数
foreach - 根据数组中每个元素来循环代码块
while 循环
while 循环将重复执⾏代码块,直到指定的条件不成⽴。
while (条件)
{
要执⾏的代码;
}
实例⾸先设置变量 i 的值为 1 ($i=1;)。
然后,只要 i ⼩于或者等于 5,while 循环将继续运⾏。循环每运⾏⼀次,i 就会递增 1
<?php
$i=1;
while($i<=5)
{
echo "The number is " . $i . "<br>";
$i++;
}
?>
do…while 语句
实例⾸先设置变量 i 的值为 1 ($i=1;)。
然后,开始 do...while 循环。循环将变量 i 的值递增 1,然后输出。先检查条件(i ⼩于或者等于 5),只要 i ⼩于
或者等于 5,循环将继续运⾏
<?php
$i=1;
do
{
$i++;
echo "The number is " . $i . "<br>";
}
while ($i<=5);
?>
For 循环
for 循环⽤于您预先知道脚本需要运⾏的次数的情况。
for (初始值; 条件; 增量)
{
要执⾏的代码;
}
<?php
for ($i=1; $i<=5; $i++)
{
echo "数字为 " . $i;
}
?>
参数:
- 初始值:主要是初始化⼀个变量值,⽤于设置⼀个计数器(但可以是任何在循环的开始被执⾏⼀次的代码)。
- 条件:循环执⾏的限制条件。如果为 TRUE,则循环继续。如果为 FALSE,则循环结束。
- 增量:主要⽤于递增计数器(但可以是任何在循环的结束被执⾏的代码)。
- 注释:上⾯的初始值和增量参数可为空,或者有多个表达式(⽤逗号分隔)
foreach 循环
foreach 循环⽤于遍历数组。
语法
foreach ($array as $value)
{
要执⾏代码;
}
每⼀次循环,当前数组元素的键与值就都会被赋值给 $key 和 $value 变量(数字指针会逐⼀地移动),在进⾏下⼀
次循环时,你将看到数组中的下⼀个键与值。
<?php
$x=array("Google","Runoob","Taobao");
foreach ($x as $value)
{
echo $value;
echo "<br>";
}
?>
<?php
$x=array(1=>"Google", 2=>"Runoob", 3=>"Taobao");
foreach ($x as $key => $value)
{
echo "key 为 " . $key . ",对应的 value 为 ". $value . PHP_EOL;
}
?>
函数
函数是通过调⽤函数来执⾏的
?php
function functionName()
{
// 要执⾏的代码
}
?>
函数准则:
- 函数的名称应该提示出它的功能
- 函数名称以字⺟或下划线开头(不能以数字开头)
<?php
function writeName()
{
echo "Kai Jim Refsnes";
}
echo "My name is ";
writeName();
?>
函数 - 添加参数
为了给函数添加更多的功能,我们可以添加参数,参数类似变量
参数就在函数名称后⾯的⼀个括号内指定
<?php
function writeName($fname,$punctuation)
{
echo $fname . " Refsnes" . $punctuation . "<br>";
}
echo "My name is ";
writeName("Kai Jim",".");
echo "My sister's name is ";
writeName("Hege","!");
echo "My brother's name is ";
writeName("Ståle","?");
?>
函数 - 返回值
如需让函数返回⼀个值,请使⽤ return 语句
<?php
function add($x,$y)
{
$total=$x+$y;
return $total;
}
echo "1 + 16 = " . add(1,16);
?>