一、什么是PHP
1、定义:一种服务器端的HTML脚本/编程语言,是一种广泛用于开放源代码、适合web开发并 可以嵌入HTML的多用途脚本语言
2、前身:Personal HomePage,个人主页 现今:PHP Hypertext Preprosessor,php超文本处理 器
3、平台支持:Window,Linux,UNIX
二、PHP语法
1、PHP脚本以<?php开始,以?>结束
2、每个代码行以分号结束
3、//这是PHP单行注释
/*这是PHP
多行注释*/
<!DOCTYPE html>
<html>
<body>
<h1>My first PHP page</h1>
<?php
echo"Hello world";
?>
</body>
</html>
三、PHP变量
1、PHP变量规则
- 变量以$符号开始,后面跟着变量的名称;
- 变量名必须以字母或者下划线字符开始;
- 变量名只能包含字母、数字以及下划线;
- 变量名不能包含空格;
- 变量名是区分大小写的;
2、创建PHP变量
变量在第一次赋值时被创建,不需要声明变量的数据类型,PHP会根据变量的值自动转换
<?php
$txt="Hello world";
$x=5;//变量x被创建
$y=10.5;//变量y被创建
?>
3、变量作用域
local----局部变量作用域
在PHP函数内部声明的变量就是局部变量,仅能在函数内部访问
<?php
function test()
{
$a = 15;
echo "内部输出结果:" . $a;
}
echo "外部输出结果:" . $a; // 无法访问变量 a
echo PHP_EOL;
test();
?>
global----全局变量作用域
在函数外部定义的变量是全局变量,所有的全局变量存储在$GLOBALS[index]数组中
全局变量可以被脚本中的任何部分访问
要在一个函数中访问一个全局变量,需要使用global关键字或者使用$GLOBAL[index]数组
<?php
$x=5;
$y=10;
$z=0;
function test1()
{
global$x,$y,$z;
$z=$x+$y;
}
test();
echo $z;
echo PHP_EOL;
function test2()
{
$GLOBAL['z']=$GLOBAL['x']+$GLOBAL['Y'];
}
test2();
echo $z;
?>
static----static作用域
当一个函数执行完成时,它的所有变量通常都会被删除
有时需要局部变量不被删除,需要在第一次声明变量时使用static关键字
<?php
function test() {
static $x=0;
echo $x . " ";
$x++;
}
test();
test();
test();
test();
?>
parameter----参数作用域
4、字符串变量
字符串变量用于包含有字符的值,创建字符串之后即可对其进行操作
字符串运算符----并置运算符(.)----用于把两个字符串值连接起来。
<?php
$txt1="Hello world!";
$txt2="What a nice day!";
echo $txt1 . " " . $txt2;
?>
输出:Hello world! What a nice day!
上述代码中使用了两次并置运算符
四、echo和print语句
两种基本的输出方式:echo和print
区别:echo-可以输出一个或多个字符串(无返回值)
print-只允许输出一个字符串,返回值总为1
<?php
echo "<h2>PHP 很有趣!</h2>";
echo "Hello world!<br>";
echo "我要学 PHP!<br>";
echo "这是一个", "字符串,", "使用了", "多个", "参数。";
?>
<?php
$txt1="学习 PHP";
$txt2="RUNOOB.COM";
$cars=array("Volvo","BMW","Toyota");
echo $txt1;
echo "<br>";
echo "在 $txt2 学习 PHP ";
echo "<br>";
echo "我车的品牌是 {$cars[0]}";
?>
<?php
print "<h2>PHP 很有趣!</h2>";
print "Hello world!<br>";
print "我要学习 PHP!";
?>
<?php
$txt1="学习 PHP";
$txt2="RUNOOB.COM";
$cars=array("Volvo","BMW","Toyota");
print $txt1;
print "<br>";
print "在 $txt2 学习 PHP ";
print "<br>";
print "我车的品牌是 {$cars[0]}";
?>
五、PHP EOF(heredoc)使用
PHP EOF(heredoc)是一种在命令行shell和程序语言里定义一个字符串的方法
使用规则
- 必须后接分号,否则编译通不过。
- EOF 可以用任意其它字符代替,只需保证结束标识与开始标识一致。
- 结束标识必须顶格独自占一行(即必须从行首开始,前后不能衔接任何空白和字符)。
- 开始标识可以不带引号或带单双引号,不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转义符号。
<?php
$name="xiaodong";
$a= <<<EOF
"abc"$name
"123"
EOF;
// 结束需要独立一行且前后不能空格
echo $a;
?>
六、PHP数据类型
PHP支持以下数据类型:String(字符串)Integer(整型)Float(浮点型)Boolean(布尔型) Array(数组)Object(对象)NULL(空值)Resource(资源类型)
PHP字符串
一串字符的序列,将任何文本放在单引号和双引号中
<?php
$x = "Hello world!";
echo $x;
echo "<br>";
$x = 'Hello world!';
echo $x;
?>
PHP整型
整数是没有小数的数字,可以是正数或负数,可用十进制、十六进制(0x为前缀)或八进制(以0为前缀)来表示
PHP浮点型
浮点数是带小数部分的数字,或是指数形式
<?php
$x = 10.365;
var_dump($x);
echo "<br>";
$x = 2.4e3;
var_dump($x);
echo "<br>";
$x = 8E-5;
var_dump($x);
?>
PHP布尔型
布尔型可以是true或false,用于条件判断
PHP数组
数组可以在一个变量中存储多个值
PHP对象
对象数据类型可以用于存储数据
对象必须使用class关键字声明类对象。类是包含属性和方法的结构
PHP NULL值
NULL值表示变量没有值,指明一个变量是否为空值
NULL值是数据类型为NULL的值
七、PHP常量
常量是一个简单值的标识符。该值在脚本中不能改变。
一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。
常量在定义后,默认是全局变量,可以在整个运行的脚本的任何地方使用。
设置 PHP 常量
设置常量,使用 define() 函数,函数语法如下:
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
该函数有三个参数:
- name:必选参数,常量名称,即标志符。
- value:必选参数,常量的值。
- case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。
<?php
// 不区分大小写的常量名
define("GREETING", "欢迎访问 Runoob.com", true);
echo greeting; // 输出 "欢迎访问 Runoob.com"
?>
八、PHP数组
1、PHP数组
数组是一个能在单个变量中储存多个值的特殊变量
array()函数用于创建数组:
- 数值数组----带有数字ID键的数组(默认从0开始分配数字键)
- 关联数组----带有指定的键的数组,每个键关联一个值(自己分配指定的键)
- 多维数组----包含一个或多个数组的数组
count()函数用于返回数组的长度
<?php
$cars=array("Volvo","BMW","Toyota");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
echo count($cars);
?>
遍历数值数组
<?php
$cars=array("Volvo","BMW","Toyota");
$arrlength=count($cars);
for($x=0;$x<$arrlength;$x++)
{
echo $cars[$x];
echo "<br>";
}
?>
遍历关联数组
<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
foreach($age as $x=>$x_value)
{
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>
Key=Peter, Value=35
Key=Ben, Value=37
Key=Joe, Value=43
2、PHP数组排序
数组排序函数
- sort() - 对数组进行升序排列
- rsort() - 对数组进行降序排列
- asort() - 根据关联数组的值,对数组进行升序排列
- ksort() - 根据关联数组的键,对数组进行升序排列
- arsort() - 根据关联数组的值,对数组进行降序排列
- krsort() - 根据关联数组的键,对数组进行降序排列