PHP阶段一
PHP
一门编程语言
运行在服务器端
专门用户开发网站的
脚本后缀名.php
与HTML语言进行混编,脚本后缀依然是.php
解释型语言,不要编译直接运行
PHP运行需要环境:
Windows phpstudy
Linux 单独安装
1、打开浏览器
2、输入url
3、显示页面
PHP 语言标记
开始标记 <?php
结束标记 ?>
1、<?php?>这之间就表示进入PHP模式,在开始和结束处之外的内容都会被PHP解析器忽略
2、可以直接嵌入到html代码中,并且可以嵌入到html代码中的任何地方
3、在一个html文档中可以嵌入任意多个PHP标记
4、文件末尾的PHP代码结束标记可以不要,在一些情况下省略掉更好
一个php语句必须(建议)要用分号结束
单行注释 //
多行注释 /* */
注意
php代码中注释,不会显示在浏览器的源代码中
php运行环境是服务器,我们浏览器看到的是PHP 引擎运行PHP代码后的执行结果
1、phpinfo();
2、echo 用于输出简单的变量
3、var_dump(); 用于输出变量值及其变量类型
不需要声明变量,但要初始化
给变量初次赋值,或者变量的默认值
[=]
根据实验说明:PHP脚本是顺序执行的
引用赋值 $c =&$a
相当于给$a起了一个别名,$c值的改变,$a也随之改变
变量的释放
unset()
@以$符号开头
@严格区分大小写
@字母|数字|下划线,不能以数字开头
$name1
$my_name
$_my_name
$1_name 错误
@尽量不要使用php关键字作为变量名
- <?php
- $name="hello";
- $$name="world";
- echo $name;
- echo "<br />";
- echo $hello;//$$name;
- ?>
布尔类型 两个 true false,其他均会被认为true
以下所有内容会被当做false
- 布尔值false
- 0
- 浮点型0.0
- 空白字符串和字符串0
- 没有成员的数组
- NULL
int 存储整数
float 存储小数 3.14
字符串 string
字符串的定义
@ ’ ‘
@ " "
@ 定界符
注意:
@单引号定义的字符串中出现单引号要转义[\]
@单引号定义的字符串中,[$] 符号原样输出
@双引号定义的字符串中,[$] 是变量的开始,整体变量名用{}括起来
@单双引号定义的字符串中输入的特殊字符包括[',",$...]需要转义
@定界符开始和结束后面不能有任何字符包括空白字符和注释
数组
对象 不讲
不变的量
定义
define("NAME","GGG");
直接使用即可
预定义常量
- 常量名 常量值
- __FILE__ 当前的文件名
- __LINE__ 当前的行数
- __FUNCTION__ 当前的函数名
- __CLASS__ 当前的类名
- __METHOD__ 当前的对象的方法名
- PHP_OS UNIX或WINNT等
- PHP_VERSION 当前的PHP服务器的版本
- DIRECTORY_SEPARATOR \或/ 根据操作系统决定目录的分隔符
非 !
与 and &&
或 or ||
异或 xor 不同为真,相同为假
与运算的优先级高于或运算。
比较参与运算的单元是否相同,相同为真,不同为假
==
===
>
>=
<
4<=
!=
!==
<>
.
=
+=
-=
*=
/=
%=
.=
.
?: 三元运算符
$a = 10 > 20 ? 10 : 20
`` 将字符串当作命令执行
@ 屏蔽提示,警告
Error 结束脚本执行
Warr~ 只提示,不影响执行
Notice 只提示,不影响执行
PHP代码执行的时候,一次顺序执行
单向分支
if(判断条件){执行语句块}
双向分支
if(判断条件){执行语句块1}else{语句块2}
多向分支
elseif
switch
case
default
while
当满足条件时,执行
计数器,变量
判断条件
do while
先执行再判断
for
break; 跳出本层循环
break 2; 跳出两层循环
continue; 跳出本次循环
die()
exit() 结束脚本
- <h1 style="color:red">This is info.php!</h1>
- <?php
- /*这是一个测试页面
- 这部分代码是注释*/
- phpinfo();//这是php探针
- ?>
- This is the end of info.php!
- <?php
- echo "This is var.php";
- echo "<hr />";
- echo "<span style='color:red;background:blue'>123</span>";
- ?>
- <hr />
- <?php
- echo $name;
- $name="ggg";
- echo "<hr />";
- echo $name;
- echo "<br />";
- unset($name);//释放变量
- echo $name;
- ?>
- <?php
- $name="hello";
- $$name="world";
- echo $name;
- echo "<br />";
- echo $hello;//$$name;
- ?>
- <?php
- $a = 10;
- $b = $a;
- $b = $b+1;
- echo $a;//10
- echo "|";
- echo $b;//11
- echo "<hr />";
- $c = &$a;
- $c = $c+1;
- echo $a;//11
- echo "|";
- echo $c;//11
- ?>
- <?php
- $man=true;
- $woman=false;
- echo $man;
- echo "<hr />";
- echo $woman; //echo 输出false时,输出空白。
- echo "<hr />";
- var_dump($man);
- var_dump($woman);
- ?>
- <?php
- $name="ggg";
- $str='$name,let\'s go ';
- var_dump($str);
- ?>
- <hr />
- <?php
- $str="{$name},let's go\$";
- var_dump($str);
- ?>
- <hr />
- <?php
- $str=<<<HTML
- <span style="color:red;background-color:black">This is DJF['"$%]</span>
- HTML;
- var_dump($str);
- ?>
- <?php
- define("NAME","GGG");
- var_dump(NAME);
- echo "<hr />";
- echo __FILE__;
- echo "<hr />";
- echo __LINE__;
- echo "<hr />";
- echo PHP_VERSION;
- echo "<hr />";
- echo DIRECTORY_SEPARATOR;
- ?>
- <?php
- $a = 10;
- $b = 5;
- $c = -$a;
- echo $c;
- echo "<hr />";
- $c = $a+$b;
- echo $c;
- echo "<hr />";
- $c = $a-$b;
- echo $c;
- echo "<hr />";
- $c = $a*$b;
- echo $c;
- echo "<hr />";
- $c = $a/$b;
- echo $c;
- echo "<hr />";
- $c = $a%$b;
- echo $c;
- echo "<hr />";
- echo $a++;//先输出,再自增
- echo "<hr />";
- echo ++$a;//先自增,再输出
- ?>
- <?php
- $a = true;
- $b = false;
- //$c = !$a;
- //var_dump($c);
- //$c = $a and $b;
- /*
- var_dump($c);//true
- var_dump($c = $a and $b);//false
- var_dump($c = ($a and $b));//false
- */
- //$c = ($a || $b);
- //var_dump($c);
- $c = ($a xor $b);
- var_dump($c);
- ?>
- <?php
- $a = 0;
- $b = false;
- $c = 0.0;
- $d = 1/3;
- $e = 2/6;
- $f = true;
- $g = 2;
- echo '$a==$b';
- var_dump($a == $b);
- echo "<br />";
- echo '$a===$b';
- var_dump($a === $b);
- echo "<br />";
- echo '$a!=$b';
- var_dump($a != $b);
- echo "<br />";
- echo '$a!==$b';
- var_dump($a !== $b);
- echo "<br />";
- echo '$a>$g:';
- var_dump($a > $g);
- echo "<br />";
- echo '$a<$g:';
- var_dump($a < $g);
- ?>
- <?php
- $name = "GGG";
- $hello = "Hello";
- $num = "3.14";
- echo $num.$hello.",".$name.".".";".'123456';
- ?>
- <?php
- $a = 10<20?10:20;
- echo $a;
- echo "<hr />";
- echo `whoami`;
- echo "<hr />";
- echo @$name;
- ?>
- <?php
- $name = "GGG";
- echo $name;
- $name = "HJ";
- echo $name;
- ?>
- <?php
- $grade = 59.9;
- if($grade > 60){
- echo "pase";
- }
- ?>
- <?php
- $grade = 60;
- if($grade >= 60){
- echo "pase";
- }
- else{
- echo "sorry";
- }
- ?>
- <?php
- $grade = rand(0,100);
- echo "Your grade is ".$grade.":";
- if($grade >= 90){
- echo 'A';
- }
- elseif($grade >= 80){
- echo 'B';
- }
- elseif($grade >= 70){
- echo 'C';
- }
- elseif($grade >= 60){
- echo 'D';
- }
- else{
- echo 'sorry';
- }
- ?>
- <?php
- $day = rand(1,7);
- switch($day){
- case 1:
- echo 'Monday';
- break;
- case 2:
- echo 'Tuesday';
- break;
- case 3:
- echo 'Wednesday';
- break;
- case 4:
- echo 'Thursday';
- break;
- default:
- echo 'What?';
- }
- ?>
- <?php
- $i=0;
- while($i<100){
- echo ++$i." ";
- }
- ?>
- <?php
- $i=0;
- do{
- echo ++$i." ";
- }while($i<11)
- ?>
- <?php
- for($i=0;$i<=5;$i++){
- echo "The number is {$i}.<br />";
- }
- ?>
- <?php
- /*
- for($i=0;$i<5;$i++){
- echo "i=".$i."<hr />";
- for($j=0;$j<5;$j++){
- echo "j=".$j."<br />";
- if($j==3)
- break;
- }
- }
- */
- for($i=0;$i<5;$i++){
- echo "i=".$i."<hr />";
- for($j=0;$j<5;$j++){
- echo "j=".$j."<br />";
- if($j==3)
- break 2;
- }
- }
- ?>
- <?php
- for($i=0;$i<3;$i++){
- echo "i=".$i."<hr />";
- for($j=0;$j<3;$j++){
- if($j==0){
- echo "passing<br />";
- continue;
- }
- echo "j=".$j."<br />";
- }
- }
- ?>
- <?php
- for($i=0;$i<3;$i++){
- echo "i=".$i."<hr />";
- for($j=0;$j<3;$j++){
- if($j==0){
- echo "passing<br />";
- //die();
- exit("The end !");
- }
- echo "j=".$j."<br />";
- }
- }
- ?>
- <?php
- for($i=1;$i<=9;$i++){
- for($j=1;$j<=$i;$j++){
- echo "{$i}*{$j}=".$i*$j." ";
- }
- echo "<br />";
- }
- ?>
相关文章:

PHP阶段一
PHP 一门编程语言 运行在服务器端 专门用户开发网站的 脚本后缀名.php 与HTML语言进行混编,脚本后缀依然是.php 解释型语言,不要编译直接运行 PHP运行需要环境: Windows phpstudy Linux 单独安装 Web 原理简述 1、打开浏览器 2、输入u…...

用人话讲计算机:Python篇!(十五)迭代器、生成器、装饰器
一、迭代器 (1)定义 标准解释:迭代器是 Python 中实现了迭代协议的对象,即提供__iter__()和 __next__()方法,任何实现了这两个方法的对象都可以被称为迭代器。 所谓__iter__(),即返回迭代器自身 所谓__…...

5G -- 5G网络架构
5G组网场景 从4G到5G的网络演进: 1、UE -> 4G基站 -> 4G核心网 * 部署初中期,利用存量网络,引入5G基站,4G与5G基站并存 2、UE -> (4G基站、5G基站) -> 4G核心网 * 部署中后期,引入5G核心网&am…...

VR线上展厅的色彩管理如何影响用户情绪?
VR线上展厅的色彩管理对用户情绪的影响是多方面的,以下是专业从事VR线上展厅制作的圆桌3D云展厅平台为大家介绍的一些关键点: 情感共鸣:色彩能够激发特定的情感反应。例如,暖色调(如红色、橙色)通常与活力和…...

Vue3:uv-upload图片上传
效果图: 参考文档: Upload 上传 | 我的资料管理-uv-ui 是全面兼容vue32、nvue、app、h5、小程序等多端的uni-app生态框架 (uvui.cn) 代码: <view class"greenBtn_zw2" click"handleAddGroup">添加班级群</vie…...

大数据机器学习算法和计算机视觉应用07:机器学习
Machine Learning Goal of Machine LearningLinear ClassificationSolutionNumerical output example: linear regressionStochastic Gradient DescentMatrix Acceleration Goal of Machine Learning 机器学习的目标 假设现在有一组数据 x i , y i {x_i,y_i} xi,yi&…...

基于asp.net游乐园管理系统设计与实现
博主介绍:专注于Java(springboot ssm 等开发框架) vue .net php python(flask Django) 小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找…...

一区牛顿-拉夫逊算法+分解+深度学习!VMD-NRBO-Transformer-GRU多变量时间序列光伏功率预测
一区牛顿-拉夫逊算法分解深度学习!VMD-NRBO-Transformer-GRU多变量时间序列光伏功率预测 目录 一区牛顿-拉夫逊算法分解深度学习!VMD-NRBO-Transformer-GRU多变量时间序列光伏功率预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.中科院一区…...

uniapp使用腾讯地图接口的时候提示此key每秒请求量已达到上限或者提示此key每日调用量已达到上限问题解决
要在创建的key上添加配额 点击配额之后进入分配页面,分配完之后刷新uniapp就可以调用成功了。...
WPF 完美解决改变指示灯的颜色
WPF 完美解决改变指示灯的颜色 原有:自己再做WPF页面设计后发现直接去查找页面多个控件嵌套情况下找不到指示灯(Button实现的,详细可以看这篇文章 这里),具体看看来如何实现 加粗样式思路:无论多级嵌套&a…...

Flutter/Dart:使用日志模块Logger Easier
Flutter笔记 Flutter/Dart:使用日志模块Logger Easier Logger Easier 是一个为 Dart 和 Flutter 应用程序量身定制的现代化日志管理解决方案。它提供了一个高度灵活、功能丰富的日志记录系统,旨在简化开发者的日志管理工作,同时提供一定的定制…...

阿里云云服务器初始化
如果我们的云服务器出现无法挽回的错误时,我们可以尝试初始化云服务器进行解决。 首先搜索阿里云(你要先确认自己已经购买了阿里云的云服务器): 登录账号后主页向下划 进入后点击管理控制台 点击进入后可以看到正在运行࿰…...

Python中SKlearn的K-means使用详解
文章目录 Python中SKlearn的K-means使用详解一、引言二、K-means算法原理三、使用SKlearn进行K-means聚类的步骤1、导入必要的库2、生成数据集3、创建K-means模型并设置参数4、训练模型5、预测簇标签6、可视化结果 四、总结 Python中SKlearn的K-means使用详解 一、引言 K-mea…...
红帽RHCE认证适用哪些人学习
红帽 RHCE工程师认证有着广泛的适用人群。对于初入 IT 行业的新手来说,RHCE 是快速建立专业基础、提升自身竞争力的绝佳途径。它能帮助新人系统地学习 Linux 系统知识,从基础的安装配置到复杂的网络服务管理,一步一个脚印地构建起坚实的技术框…...

FFmpeg 框架简介和文件解复用
文章目录 ffmpeg框架简介libavformat库libavcodec库libavdevice库 复用(muxers)和解复用(demuxers)容器格式FLVScript Tag Data结构(脚本类型、帧类型)Audio Tag Data结构(音频Tag)V…...

《Java核心技术I》Swing中的边框
边框 BorderFactory静态方法创建边框,凹斜面,凸斜面,蚀刻,直线,蒙版,空白。 边框添加标题,BorderFactory.createTitledBorder 组合边框,BorderFactory.createCompoundBorder JCo…...
MySQL 中的常见错误与排查
在 MySQL 数据库的日常运维中,管理员可能会遇到各种错误。无论是查询性能问题、连接异常、数据一致性问题,还是磁盘空间不足等,及时排查并解决这些问题是保证数据库稳定运行的关键。本文将列出 MySQL 中一些常见的错误及其排查方法。 一、连接…...
SQL 查询方式比较:子查询与自连接
在 SQL 中,子查询和自连接是两种常见的查询方式,它们的功能虽然可以相同,但实现的方式不同。本文通过具体示例,深入探讨这两种查询方式,并配合数据展示,帮助大家理解它们的使用场景和差异。 数据示例 假设…...

Linux下学【MySQL】所有常用类型详解( 配实操图 通俗易懂 )
每日激励:“当你觉得你会幸运时,幸运就会眷顾你,所以努力吧,只要你把事情做好,并觉得你会幸运,你将会变得幸运且充实。” 绪论: 本章继续学习MySQL的知识,本章主要讲到mysql中的所…...

Gin-vue-admin(1):环境配置和安装
目录 环境配置如果443网络连接问题,需要添加代理服务器 后端运行前端运行 环境配置 git clone https://gitcode.com/gh_mirrors/gi/gin-vue-admin.git到server文件目录下 go mod tidygo mod tidy 是 Go 语言模块系统中的一个命令,用于维护 go.mod 文件…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
JavaScript 数据类型详解
JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...

WPF八大法则:告别模态窗口卡顿
⚙️ 核心问题:阻塞式模态窗口的缺陷 原始代码中ShowDialog()会阻塞UI线程,导致后续逻辑无法执行: var result modalWindow.ShowDialog(); // 线程阻塞 ProcessResult(result); // 必须等待窗口关闭根本问题:…...

使用SSE解决获取状态不一致问题
使用SSE解决获取状态不一致问题 1. 问题描述2. SSE介绍2.1 SSE 的工作原理2.2 SSE 的事件格式规范2.3 SSE与其他技术对比2.4 SSE 的优缺点 3. 实战代码 1. 问题描述 目前做的一个功能是上传多个文件,这个上传文件是整体功能的一部分,文件在上传的过程中…...