PHP 基础编程 1

文章目录

  • 前后端交互尝试
  • php简介
  • php版本
  • php 基础语法
  • php的变量
  • 前后端交互 - 计算器体验
  • php数据类型
  • php的常量和变量的区别
  • php的运算符
    • 算数运算符
    • 自增自减
    • 比较运算符
    • 赋值运算符
    • 逻辑运算
  • php的控制结构
    • if
    • else
    • else if

前后端交互尝试

前端编程语言: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 = x*y  乘
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"优秀";

}

?>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/297111.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Vue3+React18+TS4】1-1 : 课程介绍与学习指南

本书目录&#xff1a;点击进入 一、为什么做这样一门课程? 二、本门课的亮点有哪些? 2.1、轻松驾驭 2.2、体系系统 2.3、高效快捷 2.4、融合贯通 三、课程内容包括哪些? 四、项目实战 《在线考勤系统》 五、课适合哪些同学? 一、为什么做这样一门课程? 近十年内前端…

docker部署kibana

1&#xff0c;简介 官网 kibana 2&#xff0c;安装docker 参考 linux安装docker 3&#xff0c;准备 Kibana 配置文件 # 进入主节点配置文件目录 cd /export/server/docker/kibana/config # 编辑单机版配置文件 vi kibana.ymlkibana.yml内容 # 主机地址&#xff0c;可以是…

【AI视野·今日NLP 自然语言处理论文速览 第六十八期】Tue, 2 Jan 2024

AI视野今日CS.NLP 自然语言处理论文速览 Tue, 2 Jan 2024 Totally 48 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computation and Language Papers A Computational Framework for Behavioral Assessment of LLM Therapists Authors Yu Ying Chiu, Ashish Shar…

【贪心算法】Dijkstra 算法及其衍生

目录 Dijkstra 算法Dijkstra 算法正确性证明 Dijkstra 算法的复杂度优化 Dijkstra 算法的衍生SSSP的应用 Dijkstra 算法 1959 年&#xff0c;Edsger Dijkstra 提出一个非常简单的贪心算法来求解单源最短路径问题&#xff08;Single-Source Shortest Path&#xff0c;SSSP&…

Qt/QML编程学习之心得:Timer的使用(22)

Qt中timer计时器如何使用? Timer的创建: void InitTimer(){myTimer = new QTimer(q);myTimer->setInterval(100); // 100msmyTimer->setSingleShot(true); //只运行一次的计时器QObject::connect(myTimer,SIGNAL(timeout()),q,SLOT(onTimeOut()));myTimer->start(…

网络调试 TCP,开发板用静态地址-入门7

用两台电脑&#xff08;无线网络&#xff09;做实验 1.1, 在电脑A上设置为Server如下&#xff1a; 选择TCP Server后&#xff0c;直接跳出用本机IP做为“本地主机地址” 1.2在 电脑B上设置为Client, 远程主机地址设置为Server的 IP 1.3, 在A, B两台电脑上能够互相发送数据 用…

asp.net core跨域

说明 跨域问题只存在于基于浏览器的 Web 开发中。由于小程序的宿主环境不是浏览器&#xff0c;而是微信客户端&#xff0c;所以小程序中不存在跨域的问题。 Ajax 技术的核心是依赖于浏览器中的 XMLHttpRequest 这个对象&#xff0c;由于小程序的宿主环境是微信客户端&#xff0…

Java面试题之并发

前言 本篇主要总结JAVA面试中关于并发相关的高频面试题。本篇的面试题基于网络整理&#xff0c;和自己编辑。在不断的完善补充哦。 简述程序、进程、线程、的基本概念&#xff1f; 程序 程序&#xff0c;是含有指令和数据的文件&#xff0c;被存储在磁盘或其他的数据存储设备…

亚马逊自养号测评:提升商品排名与流量的必要操作

自养号测评是通过使用自主注册的海外买家账号&#xff0c;对商品进行评价&#xff0c;以提升其在平台上的排名和流量的操作。卖家选择自养号这种方式来增强商品的曝光度和吸引更多潜在买家。然而&#xff0c;养号并非易事&#xff0c;需要卖家提高养号技术、掌握相应技巧&#…

2024最新Selenium面试题,建议收藏备用!

一.你在TestNG中使用了哪些注解&#xff1f; Test BeforeSuite AfterSuite BeforeTest AfterTest BeforeClass AfterClass BeforeMethod AfterMethod 二.如何从Excel中读取数据&#xff1f; FileInputStream fs new FileInputStream(“excel文件路径”); Workbook …

李宏毅机器学习第二十四周周报 Self-attention ConvLSTM

文章目录 week 24 Self-attention ConvLSTM for Spatiotemporal Prediction摘要Abstract一、机器学习二、文献阅读1. 题目2. abstract3. 网络架构3.1基础模型3.2自注意力记忆模块3.3Self-Attention ConvLSTM 4. 文献解读4.1 Introduction4.2 创新点4.3 实验过程4.3.1实现4.3.2数…

[C#]使用onnxruntime部署yolov8-onnx印章检测

【官方框架地址】 https://github.com/ultralytics/ultralytics.git 【算法介绍】 YOLOv8是目标检测领域中的一种先进算法&#xff0c;它是YOLO&#xff08;You Only Look Once&#xff09;系列算法的最新发展。YOLO算法以其高效和实时的性能而著名&#xff0c;而YOLOv8则进一…

数字藏品如何赋能线下实体?以 BOOMSHAKE 潮流夜店为例

此篇为报告内容精华版&#xff0c;更多详细精彩内容请点击 完整版 在数字化浪潮的推动下&#xff0c;品牌和企业正在迎来一场前所未有的变革。传统市场营销策略逐渐让位于新兴技术&#xff0c;特别是非同质化代币&#xff08;NFT&#xff09;的应用。这些技术不仅改变了品牌资…

c++ spdlog日志系统

非常好用的日志系统 最近用oatpp写webapi&#xff0c;但他的日志只是显示在控制台&#xff0c;并不记录到文件。 做接口的&#xff0c;肯定要记录错误日志&#xff0c;好查找问题 于是用spdlog&#xff0c;不用编译dll或lib&#xff0c; include 头文件就直接使用了&#x…

Redis基础学习一

1. Redis 入门 1.1. Redis 诞生历程 1.1.1.从一个故事开始 08 年的时候有一个意大利西西里岛的小伙子&#xff0c;笔名 antirez&#xff08;http://invece.org/&#xff09;&#xff0c;创建了一个访客信息网站 LLOOGG.COM。有的时候我们需要知道网站的访问情况&#xff0c;…

Anaconda + Pytorch 超详细安装教程

Anaconda Pytorch 超详细安装教程 安装 Anaconda 略,自行百度即可 安装 Pytorch 虚拟环境 第一步 选择 env第二步 创建第三步 填写环境名称和选择 python 版本号 第四步 打开 https://pytorch.org/ 选择 pytorch 版本&#xff0c;我这里选择的是 GPU 版本 即 CUDA 11.8,也…

C语言学习NO.13-字符函数(三)-strncpy,strncat,strncmp长度受限制的字符串函数

长度受限制的字符串函数介绍 一、strncpy函数的使用 &#xff08;一&#xff09;strncpy使用 #include <stdio.h> #include <string.h>int main() {char arr1[20] "asdfgdfv";char arr2[7] "zxcvbn";strncpy(arr1, arr2, 4);printf("…

B+树索引及其原理

MySQL索引的底层结构是B树&#xff0c;为什么它会选择这个结构&#xff1f;联合索引是怎么实现的&#xff1f;最左侧匹配原则的原理是什么&#xff1f;本文将一一解答这些疑惑。 1 前置知识 在学习B树之前&#xff0c;我们先了解下其他的树形结构&#xff1a;二叉树、平衡二叉…

互联网加竞赛 基于人工智能的图像分类算法研究与实现 - 深度学习卷积神经网络图像分类

文章目录 0 简介1 常用的分类网络介绍1.1 CNN1.2 VGG1.3 GoogleNet 2 图像分类部分代码实现2.1 环境依赖2.2 需要导入的包2.3 参数设置(路径&#xff0c;图像尺寸&#xff0c;数据集分割比例)2.4 从preprocessedFolder读取图片并返回numpy格式(便于在神经网络中训练)2.5 数据预…

Plantuml之nwdiag网络图语法介绍(二十九)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…