1.什么是PHP?
Hypertext Preprocessor(超文本预处理语言)。
是脚本语言。
是最流行的网站开发语言。
2.PHP能做什么?
可以生成动态页面内容。
可以创建、打开、读取、写入、关闭服务器上的文件。
可以手机表单数据。
可以发送和接收cookies。(储存在用户本地终端上的数据)
可以添加、删除、修改数据库中的数据
可以限制用户访问一些页面。
可以加密数据
3.PHP基本语法
PHP脚本以<?php开始,以?>结束。
PHP文件的默认扩展名为“.php”。
PHP用分号来分割语句。
变量以$开始,后面跟着变量名称:
$first = "Hello World";
- PHP中的注释:
a.单行注释:
//、#
b.多行注释:
/*...*/
4.PHP变量作用域
变量的作用域是脚本中可被引用的部分。
local
global
static
parameter
5.局部和全局作用域
所有在函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,但是要在一个函数中访问一个全局变量,需要使用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; // 输出15
?>
6.Static作用域
当一个函数完成时,所有变量通常都会被删除,但是加上static可以使其完成运算之后被保留下来。
<?php
function myTest()
{
static $x=0;
echo $x;
$x++;
} myTest(); // 每次调用时变量将保持前一次的值
myTest(); // 该变量仍然是局部变量
myTest(); // 输出012
?>
7.参数作用域
参数是通过调用代码将值传递给函数的局部变量。
参数是在参数列表中声明的,作为函数声明的一部分:
<?php
function myTest($x)
{
echo $x;
}
myTest(5);
?>
8.输出方式
两个基本输出方式:
echo:可以输出一个或者多个字符串。(输出速度快,没有返回值)
<?php
echo "<h2>It's a good story</h2>"; //可以加html标签
echo ("How's it going?"); //echo()=echo
?>
print:只允许输入一个字符串,返回值总为1。
9.PHP常量
常量是一个简单值得标识符,在脚本中不能改变。
设置语法:
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
三个参数:
name:必选,常量名,也是标识符。
value:必选,常量的值。
case_insensitive:可选。如果设置为true,则大小写不敏感,默认敏感。
<?php
define ("Alcohol","Pads"); //大小写敏感
echo Alcohol; //输出Pads
echo '</br>';
echo alcohol; //输出alcohol
?>
<?php
define ("NIVEA","protection",true); //大小写不敏感
echo NIVEA;
echo "</br>";
echo nivea; //都输出protection
?>
10.PHP并置运算符
PHP只有一个并置运算符,“.”:(用于把字符串连接起来)
<?php
define ("NIVEA","protection"); $txt1="protect your skin";
$txt2="from the sunlight!"; echo nivea . " " . ":" . " " . $txt1 . " " . $txt2;
//nivea : protect your skin from the sunlight!
?>
11.strlen(),strpos()函数
strlen():计算字符串长度。
strpos():计算字符串出现的第一个匹配位置
<?php
echo strpos("Hello world!","world");
?>
12.PHP递增、递减运算符
13.比较运算符
注:var_dump()函数不仅可以返回值,还可以返回值的类型。
14.数组运算符
15.三元运算符
(expr1) ? (expr2) : (expr3)
对 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。
自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。
<?php
$name = "Annika";
//普通写法
$username = isset($name) ? $name : 'no name';
// PHP_EOL是一个兼容不同平台的换行符,提高代码可移植性
echo $username, PHP_EOL; //5.3之后的写法
$username = $name ?: 'no name';
echo $username;
?>
在 PHP7+ 版本多了一个 NULL 合并运算符 “??”:
<?php
// 如果 $_GET['user'] 不存在返回 'nobody',否则返回 $_GET['user'] 的值
$username = $_GET['user'] ?? 'nobody';
?>
16.运算符有优先级,但是用括号可以增加代码可读性
<?php
// 优先级: && > = > and
// 优先级: || > = > or $a = 3;
$b = false;
$c = $a or $b;
var_dump($c); // 这里的 $c 为 int 值3,而不是 boolean 值 true
$d = $a || $b;
var_dump($d); //这里的 $d 就是 boolean 值 true
?>