当前位置: 首页 > news >正文

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>

后端代码

<?phpheader("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>

后端代码

<?phpheader("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

比较代码,更清晰的理解

<?phpheader("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

<?phpheader("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"优秀";}?>

相关文章:

PHP 基础编程 1

文章目录 前后端交互尝试php简介php版本php 基础语法php的变量前后端交互 - 计算器体验php数据类型php的常量和变量的区别php的运算符算数运算符自增自减比较运算符赋值运算符逻辑运算 php的控制结构ifelseelse if 前后端交互尝试 前端编程语言&#xff1a;JS &#xff08;Java…...

Android studio BottomNavigationView 应用设计

一、新建Bottom Navigation Activity项目: 二、修改bottom_nav_menu.xml: <itemandroid:id="@+id/navigation_beijing"android:icon="@drawable/ic_beijing_24dp"android:title="@string/title_beijing" /><itemandroid:id="@+i…...

51单片机串行口相关知识

51单片机串行口相关知识 串行通信概念 计算机与外部通信方式就两种&#xff1a; 并行通信串行通信 两种通信方式的特点以及适用场景&#xff1a; 名称特点适用场景并行通信速度快&#xff0c;效率高&#xff0c;成本高适合短距离高速通信&#xff0c;如计算机内部各硬件之…...

IDEA 每次新建工程都要重新配置 Maven的解决方案

文章目录 IDEA 每次新建工程都要重新配置 Maven 解决方案一、选择 File -> New Projects Setup -> Settingsfor New Projects…二、选择 Build,Execution,Deployment -> Build Tools -> Maven IDEA 每次新建工程都要重新配置 Maven 解决方案 DEA 每次新建工程都要…...

SecOC中新鲜度值和MAC都按照完整的值来生成,但是在发送和认证的时候只会截取一部分。这边截取的部分一般取多长?由什么参数设定?

新鲜度值(Freshness Value, FV)和消息验证码(Message Authentication Code, MAC)是SecOC协议中用于保证数据的真实性和新鲜度的重要信息。它们的长度取决于不同的因素,如加密算法、安全级别、通信带宽等。 一般来说,FV和MAC的长度越长,安全性越高,但也会占用更多的通信…...

信源编码与信道转移矩阵

目录 一. 信息论模型 二. 点对点通信模型 三. 信源编码 四. 信道转移矩阵 4.1 二进制对称信道 4.2 二进制擦除信道 五. 小结 &#xff08;1&#xff09;信道直射与反射 &#xff08;2&#xff09;信道散射 &#xff08;3&#xff09; 信道时变性 一. 信息论模型 194…...

React 实现拖放功能

介绍 本篇文章将会使用react实现简单拖放功能。 样例 布局侧边栏拖放 LayoutResize.js import React, {useState} from "react"; import { Button } from "antd"; import "./LayoutResize.css";export const LayoutResize () > {const […...

马克思主义基本原理笔记

马克思主义哲学、政治经济学、科学社会主义理论 哲学 马克思主义中国化的理论成果&#xff1a;毛泽东思想、邓小平理论、三个代表重要思想、科学发展观 物质和意识哪个是本原&#xff0c;是哲学的基本问题 辩证法认为世界上的事物都是相互联系的、运动发展的&#xff0c;形…...

Vue+JavaSpingBoot笔记(1)

一、前后端通信参数问题 1.集合【字典】类型 Vue前端传递参数: export default {methods: { test(){// 将 filteredData 中的每一行值放入 newData 对象数组中 const newData filteredData.map(item > ({key1: item.Value1,key2: item.Value2,key3: "测试"}));r…...

10-单例模式(Singleton)

意图 保证一个类只有一个实例&#xff0c;并提供一个访问它的全局访问点 实现 1 懒汉式&#xff0c;线程不安全 public class Singleton { private static Singleton instance; private Singleton (){} public static Singleton getInstance() { if (instance null) {…...

C++ 求一个数是否是丑数。

#include<string.h> #include <iostream> using namespace std; int isChou(int num) { if (num < 0) { return 0; } while (num % 2 0) { // 不断除以2&#xff0c;直到不能整除为止 num / 2; } while (num % 3 0) { // 不断除…...

SpringCloud系列篇:核心组件之注册中心组件

&#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于SpringCloud的相关操作吧 目录 &#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 一.注册中心组件是什么 二.注册中心…...

通过IP地址防范钓鱼网站诈骗的有效措施

随着互联网的普及&#xff0c;钓鱼网站诈骗成为一种广泛存在的网络犯罪行为。通过冒充合法网站&#xff0c;攻击者试图窃取用户的敏感信息。本文将探讨如何通过IP地址防范钓鱼网站诈骗&#xff0c;提供一系列有效的措施&#xff0c;以加强网络安全&#xff0c;保护用户免受诈骗…...

服务器GPU温度过高挂掉排查记录

服务器GPU挂掉 跑深度学习的代码的时候发现中断了。通过命令查看&#xff1a; nvidia-smi显示 Unable to determine the device handle for GPU 0000:01:00.0: Unknown Error。感觉很莫名其妙。通过重启大法之后&#xff0c;又能用一段时间。 shutdown -r now但是过了一个小…...

服务器终端快速下载coco数据集

######解压到当前文件夹 sudo apt-get install aria2 aria2c -c <url> #<url>即为官网下载地址# url # download images http://images.cocodataset.org/zips/train2017.zip http://images.cocodataset.org/zips/val2017.zip# download annotations http://i…...

el-select下拉框 change事件返回该项所有数据

主要代码 value-key <template><div><el-selectv-model"value"value-key"label"placeholder"请选择"change"selectChange"><el-optionv-for"item in options":key"item.label":label"…...

MySQL基础篇(一)SQL

视频地址: 黑马程序员 MySQL数据库入门到精通&#xff0c;从mysql安装到mysql高级、mysql优化全囊括 SQL&#xff0c;全称 Structured Query Language&#xff0c;结构化查询语言。操作关系型数据库的编程语言&#xff0c;定义了一套操作关系型数据库统一 标准。 一、SQL通用语…...

多类指针式仪表自动读数系统的LabVIEW开发应用案例

多类指针式仪表自动读数系统的LabVIEW开发应用案例 工业环境中&#xff0c;多类指针式仪表的自动读数一直是一个具有挑战性的问题。本案例旨在展示如何使用LabVIEW开发一个高度智能化的多类指针式仪表自动读数系统&#xff0c;以应对复杂的工业环境。通过结合图像处理技术和深…...

攀登者2 - 华为OD统一考试

OD统一考试 分值: 200分 题解: Java / Python / C++ 题目描述 攀登者喜欢寻找各种地图,并且尝试攀登到最高的山峰。 地图表示为一维数组,数组的索引代表水平位置,数组的元素代表相对海拔高度。其中数组元素0代表地面。 例如:[0,1,2,4,3,1,0,0,1,2,3,1,2,1,0],代表如下…...

归并排序例题——逆序对的数量

做道简单一点的题巩固一下 归并排序实现步骤 将整个区间 [l, r] 划分为 [l, mid] 和 [mid1, r]。 递归排序 [l, mid] 和 [mid1, r]。 将左右两个有序序列合并为一个有序序列。 题目描述 给定一个长度为 n 的整数数列&#xff0c;请计算数列中的逆序对的数量。 逆序对的定义…...

数据库连接使用问题 - 1

原理 open-in-view 是 Spring Boot ⾃动加载 Spring Data JPA 提供的⼀个配置&#xff0c;全称为 spring.jpa.open-in-viewtrue&#xff0c;它只有 true 和 false 两个值&#xff0c;默认是 true。 这个配置为true时&#xff0c;会导致Web MVC请求处理的一开始&…...

【已解决】You have an error in your SQL syntax

报错讯息 java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘desc,target_url,sort,status,create_by,modify_by,created,last_update_time FROM…...

如何在Ubuntu安装SVN服务并结合cpolar实现公网TCP地址远程访问本地服务

文章目录 前言1. Ubuntu安装SVN服务2. 修改配置文件2.1 修改svnserve.conf文件2.2 修改passwd文件2.3 修改authz文件 3. 启动svn服务4. 内网穿透4.1 安装cpolar内网穿透4.2 创建隧道映射本地端口 5. 测试公网访问6. 配置固定公网TCP端口地址6.1 保留一个固定的公网TCP端口地址6…...

windows监控进程是否还活着,查看内存使用率

windows监控进程是否还活着&#xff0c;查看内存使用率 1、导入库psutil pip install psutil2、查看进程是否活着 def is_process_running(self, process_name):# 查看程序是否还存活for process in psutil.process_iter():try:if process.name() process_name:return True…...

C#-词法结构

程序 C# 程序 (program) 由一个或多个源文件 (source file) 组成,源文件的正式名称是编译单元 (compilation unit)。源文件是有序的 Unicode 字符序列。 源文件与文件系统中的文件通常具有一对一的对应关系,但这种对应关系不是必需的。为实现可移植性的最大化,建议这些文件…...

GitHub pull request(傻瓜式入门版)

GitHub pull request Pull Request&#xff08;拉取请求&#xff09;是一种非常重要的协作机制&#xff0c;它是 Git 和 GitHub 等代码托管平台中常见的功能。在开源项目中&#xff0c;Pull Request 被广泛用于参与社区贡献&#xff0c;从而促进项目的发展。 一、fork代码 先…...

Studio 3T客户端连接Mongodb数据库服务

这里需要注意 一定要先开Studio 3T 到 创建连接时才开Mongodb服务 不然 Studio 3T 会找不到Mongodb服务 不知道这是不是 Studio 3T官方问题 期待解决吧 我们打开 Studio 3T 然后点击 Create a new connection 开始创建连接 新弹出的窗口中选择 Manually configure my connec…...

算法每日一题:赎金信 | 字符和整数

hello&#xff0c;大家好&#xff0c;我是星恒 今天给大家带来的题目是一道简单题目&#xff0c;主要帮大家复习一下字符串和字符的相关操作 给你两个字符串&#xff1a;ransomNote 和 magazine &#xff0c;判断 ransomNote 能不能由 magazine 里面的字符构成。如果可以&#…...

数字孪生在虚拟现实(VR)中的应用

数字孪生在虚拟现实&#xff08;VR&#xff09;中的应用为用户提供了更深入、沉浸式的体验&#xff0c;同时通过数字孪生技术模拟真实世界的物理实体。以下是数字孪生在VR中的一些应用&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发…...

iOS实时查看App运行日志

目录 一、设备连接 二、使用克魔助手查看日志 三、过滤我们自己App的日志 &#x1f4dd; 摘要&#xff1a; 本文介绍了如何在iOS iPhone设备上实时查看输出在console控制台的日志。通过克魔助手工具&#xff0c;我们可以连接手机并方便地筛选我们自己App的日志。 &#x1f4…...

网站端和移动端分开建设域名一样么/google排名

日常工作中&#xff0c;我们在搭建完毕weblogic后&#xff0c;登陆控制台时&#xff0c;会出现等待很长时间的情况&#xff0c;也就是所谓的卡的情况&#xff0c;像我这种急性子的人根本就不愿意等&#xff0c;为啥&#xff0c;等的烦心啊&#xff01;&#xff01;那怎么解决呢…...

东莞企业免费建站/站长平台

都说Android最近行情不好&#xff0c;很多人都遇到瓶颈或放弃或转行。其实这种情况17年18年也是如此&#xff0c;相对比之下&#xff0c;个人认为今年比去年好多了&#xff0c;Android接下来将会走向复苏的春天。 自从Google开始推出AMP项目已经有一年了。除此之外&#xff0c;…...

wordpress无域名建站/环球网疫情最新

在看《C语言高级编程》时&#xff0c;里面有个关于宏##的题目&#xff1a; 1.已知#define A “menu” #define B “osd”, 若请使用宏A,B表示出字符串”menuosd”答案&#xff1a;1 答案1:#define C A B 答案2&#xff1a;#define _C_(a,b) a##b #define C(a,b) _C_(a,b) 然后我…...

深圳做网站推广的公司/东莞seo建站公司哪家好

系统环境 --CentOS release 7python版本--Python 3.5.4背景&#xff1a;在企业环境中&#xff0c;安装ansible的服务器往往不能访问互联网&#xff0c;简单的下载ansible源码安装&#xff0c;会碰到缺少各种依赖包的问题&#xff0c;因此&#xff0c;推荐制作yum源&#xff0c;…...

做购物网站的费用/什么叫做网络营销

一、 前后端分离的定义 什么是前后端分离呢&#xff1f; 其实在过去根本就不分什么前后端的&#xff0c;无论是Java还是js都是一个人写的“蛮荒时代”。 那么到底是因为什么原因才开始了区分前后端的呢&#xff1f; 首先是可以并行开发&#xff0c;前后端进度互不影响&…...

盲盒小程序加盟/河北seo公司

SpringBoot 简介 微框架&#xff0c;与 Spring4 一起诞生&#xff0c;基于约定、生来为了简化 spring 的配置 优点 可以快速的上手&#xff0c;整合了一些子项目(开源框架或者第三方开源库)可以依赖很少的配置快速的搭建项目基于 spring 使开发者快速入门&#xff0c;门槛很低。…...