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 文件…...
wordpress后台更新后 前端没变化的解决方法
使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...
利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...
shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...
Qemu arm操作系统开发环境
使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...
redis和redission的区别
Redis 和 Redisson 是两个密切相关但又本质不同的技术,它们扮演着完全不同的角色: Redis: 内存数据库/数据结构存储 本质: 它是一个开源的、高性能的、基于内存的 键值存储数据库。它也可以将数据持久化到磁盘。 核心功能: 提供丰…...
