PHP系列:PHP 基础编程(前后端交互、简介、版本、基础语法、变量、数据类型、运算符、控制结构)
PHP 基础编程(前后端交互、简介、版本、基础语法、变量、数据类型、运算符、控制结构)
PHP 基础编程 1
前后端交互尝试
前端编程语言:JS (JavaScript) html css js
后端编程语言:php java go perl ruby python .net
前端页面代码,与后端交互大部分都需要用到form表单
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>登录页面</title>
</head>
<body>
<form action="zhuye.php" method="get">
用户名:<input type="text" name="username">
密码:<input type="password" name="password">
<input type="submit">
</form>
</body>
</html>
后端页面代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>登录页面</title>
</head>
<body>
<?php
$user=$_GET['username'];
$pass=$_GET['password'];
echo "<h1>欢迎回来$user</h1>";
echo "<p>您的密码是:$pass</p>";
?>
</body>
</html>
添加判断语句
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>登录页面</title>
</head>
<body>
<?php
$user=$_GET['username'];
$pass=$_GET['password'];
if($user == 'admin' ){
echo "<h1>欢迎回来$user</h1>";
echo "<p>您的密码是:$pass</p>";
}else {
echo "<h1>你输入的用户不存在</h1>";
}
?>
</body>
</html>
php简介
PHP: Hypertext Preprocessor (超文本处理器)
PHP的作用是生成html文档
php版本
-
php 1.0 1995
-
php 2.0 1995
-
php 3.0 ~
-
php 4.0 2000
-
php 5.0 2004 5.0-5.6
-
php 7.0 2015 7.0-7.4
-
php 8.0 2020
php 基础语法
<?php
echo "hello <br>";
echo "Hi";
?>
// 注释
// <br> html 换行
php的变量
-
变量:可变的值
-
常量:不变的值
//php中的变量用$符号后面跟变量名来表示。变量名区分大小写。
$a = 5;
$b = 6;
echo $a + $b;
变量的命名规则
1.一个有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字,或者下划线。
2.变量名不要出现中文
3.变量名不要出现非下划线的其他特殊符号
4.变量名建议使用小写字母
不带符号,单引号,双引号的区别,
单引号:类型为字符串,字符串一定要加单引号,数字类型可以不加
<?php
//header("Content-Type: text/html; charset=utf-8");
$name = 'kobe';
echo '最喜欢的NBA球星是'.$name; //变量不加符号,遇到字符串拼接,需要加.连接
echo "<br>";
echo '最喜欢的NBA球星是$name<br>'; //单引号,不解析变量,原样输出
echo "最喜欢的NBA球星是$name<br>"; //双引号,解析变量
?>
前后端交互 - 计算器体验
前端代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>登录页面</title>
</head>
<body>
<form action="calc.php" method="get">
数字1:<input type="text" name="num1">
数字2:<input type="text" name="num2">
<input type="submit">
</form>
</body>
</html>
后端代码
<?php
header("Content-Type: text/html; charset=utf-8");
$a = $_GET['num1'];
$b = $_GET['num2'];
$c = $a + $b;
$d = $a - $b;
$e = $a * $b;
$f = $a / $b;
echo $a.'+'.$b.'='.$c;
echo "<br>";
echo $a.'-'.$b.'='.$d;
echo "<br>";
echo $a.'*'.$b.'='.$e;
echo "<br>";
echo $a.'/'.$b.'='.$f;
?>
php数据类型
布尔类型 0 1 | true false (主要用来做判断)
$a=true;
整型 整数 -888 +4562
$a=1;
浮点型 小数 -1.0 3.545646
$a=1.0;
字符串 hi 单引号包裹
$a='aaaaa';
数组(一个变量需要存一组数字,则需要用到数组)
$a-array('1','2','3');
$a-array('a','b','c');
//数组可以存储 数字,字符串,子数组
对象 object
$b = new class A;
资源类型 resource (打开文件)
NULL 空
php的常量和变量的区别
php常量最好是全部大写,用define定义,且不能改,不允许重复声明,常量在引用的时候直接引用变量需要加 $ 符号,变量可以重新赋值
define("CONSTANT","HELLO.");
echo CONSTANT; // outputs "Hello world."
echo Constant; // 输出 "Constant" 并发出一个提示性信息
php的运算符
算数运算符
1、x+y x和y的和
2、x-y x和y的差
3、x*y x和y的积
4、x/y x和y的商
5、x%y x除以y的余数
6、-x x取负数
7、a.b 连接两个字符串
- 存在优先级 -
乘除 > . > 加减
<?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;
?>
BMI 计算案例,简易代码
前端代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>登录页面</title>
</head>
<body>
<form action="bmi.php" method="get">
体重:<input type="text" name="num1">
身高:<input type="text" name="num2">
<input type="submit">
</form>
</body>
</html>
后端代码
<?php
header("Content-Type: text/html; charset=utf-8");
$a = $_GET['num1'];
$b = $_GET['num2'];
$c = $b / 100;
echo $a.'/'.$c.'*'.$c.'='.($a / ($c * $c));
echo "<br>";
?>
自增自减
1、++ x 预递增 x加1,然后返回x
2、x ++ 后递增 返回x,然后x加1
3、-- x 预递减 x减1,然后返回x
4、x – 后递减 返回x,然后x减1
比较运算符
1、x == y 等于 如果x等于y,则返回true,不比较数据类型
2、x === y 绝对等于 如果x等于y,且它们类型相同,则返回ture,比较数据类型
3、x != y 不等于 如果x不等于y,则返回true
4、x <> y 不等于 如果x不等于y,则返回true
5、x !== u 绝对不等于 然后x不等于y,或它们类型不相同,则返回true
6、x > y 大于 如果x大于y,则返回true
7、x < y 小于 如果x小于y,则返回true
8、x >= y 大于等于 如果x大于或者等于y,则返回true
9、x <= y 小于等于 如果x小于或者等于y,则返回true
比较代码,更清晰的理解
<?php
header("Content-Type: text/html; charset=utf-8");
$a="10";
var_dump($a);
echo"<br>";
$b= 10;
var_dump($b);
echo "<br>";
if ($a == $b) {
echo "相等";
} else {
echo "不相等";
}
?>
赋值运算符
1、x = y x = y 左操作数设置为右侧表达式的值
2、x += y x = x+y 加
3、x -= y x = x-y 减
4、x = y x = xy 乘
5、x /= y x = x/y 除
6、x %= y x = x%y 模
7、a .= b a = a.b 连接两个字符串
逻辑运算
1、x and y 与 如果x和y都为true,则返回true
2、x or y 或 如果x和y至少有一个为true,则返回true
3、x xor y 异或 如果x和y有且仅有一个为true,则返回true
4、x && y 与
5、x || y 或
6、!x 非,取反 如果x不为true,则返回true
php的控制结构
if
<?php
header("Content-Type: text/html; charset=utf-8");
$a=rand(0,10);
$b= $a % 2;
if ($b == 1) {
echo"这是一个奇数";
}
echo"<br>";
echo "随机值是$a";
?>
else
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>登录页面</title>
</head>
<body>
<form action="zhuye.php" method="get">
用户名:<input type="text" name="username">
密码:<input type="text" name="password">
<input type="submit">
</form>
</body>
</html>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>登录页面</title>
</head>
<body>
<?php
$user=$_GET['username'];
$pass=$_GET['password'];
if($user == 'admin' and $pass == '123456' ){
echo "<h1>欢迎回来$user</h1>";
echo "<p>您的密码是:$pass</p>";
}else {
echo "<h1>你输入的密码不正确</h1>";
}
?>
</body>
</html>
else if
<?php
/*
100 满分
80 - 100 优秀
70 - 80 良好
60 - 70 及格
< 60 重修
*/
header("Content-Type: text/html; charset=utf-8");
$a = rand(0,100);
echo "你的成绩是:$a <br>";
if ($a < 60) {
echo"重修";
}else if ($a < 70) {
echo"及格";
}else if ($a < 80) {
echo"良好";
}else {
echo"优秀";
}
?>