PHP基础知识(一)

什么是PHP

含义

  • Hypertext Preprocessor,超文本预处理器,一种通用开源脚本语言。
  • PHP 文件可包含文本、HTML、JavaScript代码和 PHP 代码
  • PHP 代码在服务器上执行,结果以纯 HTML 形式返回给浏览器
  • PHP 文件的默认文件扩展名是 “.php”

功能

  • PHP 可以生成动态页面内容
  • PHP 可以创建、打开、读取、写入、关闭服务器上的文件
  • PHP 可以收集表单数据
  • PHP 可以发送和接收 cookies
  • PHP 可以添加、删除、修改您的数据库中的数据
  • PHP 可以限制用户访问您的网站上的一些页面
  • PHP 可以加密数据

浏览器获得网页:
在这里插入图片描述

php语法

PHP 脚本在服务器上执行,然后将纯 HTML 结果发送回浏览器

  • 前端页面:HTML和JS、CSS
  • 后端页面:PHP、JSP、ASP、ASPX等等

基本的 PHP 语法

  • 基本语句
<?php
// PHP 代码
?>

eg.

<!DOCTYPE html>
<html lang="en">
<body>
   <h1>My first PHP page</h1>   <!-- HTML标签 -->
   <?php
     echo "hello world!";
   ?>
</body>
</html>

按F12可以看到前端代码(注意,不能看到后端代码,例如php代码,除非看源代码)

在这里插入图片描述

  • 注释
<!DOCTYPE html>
<html>
<body>
<?php
// 这是 PHP 单行注释
/*
这是
PHP 多行
注释
*/
?>
</body>
</html>

php常见函数

php变量

eg.

<?php
$a = "11111";
echo $a;
?>
<?php
$a = 1;
$b = 2;
$c = $a + $b;
echo $c;
?>
  • php变量规则
  • 变量以 $ 符号开始,后面跟着变量的名称
  • 变量名必须以字母或者下划线字符开始
  • 变量名只能包含字母、数字以及下划线(A-z、0-9 和 _ )
  • 变量名不能包含空格
  • 变量名是区分大小写的(y 和 Y 是两个不同的变量)

php不必先声明变量类型(类似python),是一门弱类型语言

  • 变量作用域
    local
    global
    static
    parameter
  1. local

local:局部变量,仅在函数内部有效

<?php
function myTest()
{
$y=10; // 局部变量
echo "变量 y 为: $y"; 
}
mytest();  //输出10
echo "变量 y 为: $y";  //什么都不输出
  1. 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;
?>
  1. Static
    当一个函数完成时,它的所有变量通常都会被删除。然而,有时候会希望某个局部变量不要被删除。此时需要要使用 static 关键字
<?php
function myTest()
{
static $x=0;
echo $x;
$x++;
echo PHP_EOL; // 换行符
}
myTest();
myTest();
myTest();
?>

但是仍然是局部变量,在函数外不可使用

  1. parameter
    参数是通过调用代码将值传递给函数的局部变量。参数是在参数列表中声明的,作为函数声明的一部分:
<?php
function myTest($x)
{
echo $x;
}
myTest(5);
?> 

php输出

php有两个基本的输出函数:printecho

  • 区别
    1)echo速度更快一些
    2)echo可以输出多个字符串;print只能够输出一个;
    3)echo没有返回值;print返回值为1
  • echo
    既可以加(),也可以不加();echoecho()
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <?php
    echo "<h2> PHP 很有趣!</h2>";
    echo "hell! <br>";
    echo "我要学 PHP!<br>";
    echo "这是一个"."字符串,"."使用了", "多个", "参数。";
    ?>
</body>
</html>
<head>
<meta charset="UTF-8">
</head>
<?php
$txt1="学习 PHP";
$txt2="MASHIBING.COM";
$cars=array("Volvo","BMW","Toyota");
echo $txt1;
echo "<br>";
echo "在 $txt2 学习 PHP ";
echo "<br>";
echo "我车的品牌是 {$cars[0]}";
?>
  • print
<head>
<meta charset="UTF-8">
</head>
<?php
$txt1="mashibing";
$txt2="bafangwy.com";
$cars=array("xiaoyun","wanli","wuya");
print $txt1;
print "<br>";
print "在 $txt2 学习 PHP ";
print "<br>";
print "我们老师 {$cars[0]}";
?>
  • EOF
    这里补充一下关于EOF的相关内容
    EOF(heredoc)是一种在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言(像Perl、PHP、Python和Ruby)里定义一个字符串的方法。
    注意:
    1.以 <<<EOF 开始标记开始,以 EOF 结束标记结束,结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号 。
    2.开始标记和结束标记相同,比如常用大写的 EOT、EOD、EOF 来表示,但是不只限于那几个(也可以用:JSON、HTML等),只要保证开始标记和结束标记不在正文中出现即可。
    3.位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。在 heredoc 中,变量不需要用连接符 . 或 , 来拼接,如下:
<?php
$name="mashibing";
$a= <<<EOF
"abc"$name
"123"
EOF;
// 结束需要独立一行且前后不能空格
echo $a;
?>
  • print_br
    打印关于变量的易于理解的信息,如果给出的是 string、integer 或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。

  • var_dump
    此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。

php函数

eg.

<?php
 function sayhello(){
 echo “hello!;
 }
sayhello();
?>