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

PHP阶段一

PHP

一门编程语言

运行在服务器端

专门用户开发网站的

   脚本后缀名.php

   HTML语言进行混编,脚本后缀依然是.php

解释型语言,不要编译直接运行

PHP运行需要环境:

Windows phpstudy

Linux 单独安装

Web 原理简述

   1、打开浏览器

   2、输入url

   3、显示页面

PHP 基本语法

   PHP 语言标记

      开始标记 <?php

      结束标记  ?>

特点:

1<?php?>这之间就表示进入PHP模式,在开始和结束处之外的内容都会被PHP解析器忽略

2、可以直接嵌入到html代码中,并且可以嵌入到html代码中的任何地方

3、在一个html文档中可以嵌入任意多个PHP标记

4、文件末尾的PHP代码结束标记可以不要,在一些情况下省略掉更好

指令分隔符 [;]

一个php语句必须(建议)要用分号结束

注释(和C语言类似)

单行注释 //

多行注释 /*  */

注意

php代码中注释,不会显示在浏览器的源代码中

php运行环境是服务器,我们浏览器看到的是PHP 引擎运行PHP代码后的执行结果

简单的PHP语句

1phpinfo();

2echo 用于输出简单的变量

3var_dump(); 用于输出变量值及其变量类型

变量

变量的声明

   不需要声明变量,但要初始化

初始化

   给变量初次赋值,或者变量的默认值

赋值

   [=]  

   根据实验说明:PHP脚本是顺序执行的

   引用赋值 $c =&$a

   相当于给$a起了一个别名,$c值的改变,$a也随之改变

变量的释放

   unset()

变量的命名

   @$符号开头

   @严格区分大小写

   @字母|数字|下划线,不能以数字开头

   $name1

   $my_name

   $_my_name

   $1_name 错误

   @尽量不要使用php关键字作为变量名

可变变量

  1. <?php
  2. $name="hello";
  3. $$name="world";
  4. echo $name;
  5. echo "<br />";
  6. echo $hello;//$$name;
  7. ?>

变量的类型

   布尔类型 两个 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    UNIXWINNT
  • PHP_VERSION     当前的PHP服务器的版本
  • DIRECTORY_SEPARATOR    \根据操作系统决定目录的分隔符

运算符

算术运算符(见代码)

逻辑运算

and &&

  or ||

异或 xor 不同为真,相同为假

与运算的优先级高于或运算。

比较运算

比较参与运算的单元是否相同,相同为真,不同为假

==

===

>

>=

<

4<=

!=

!==

<>

字符串运算符

赋值运算符

=

+=

-=

*=

/=

%=

.=

.

其他运算符

?:    三元运算符

$a = 10 > 20 ? 10 : 20

``    将字符串当作命令执行

@   屏蔽提示,警告

运算符的优先级

PHP 的语法错误

   Error    结束脚本执行

   Warr~   只提示,不影响执行

   Notice   只提示,不影响执行

流程控制

顺序执行

   PHP代码执行的时候,一次顺序执行

分支执行

   单向分支

   if(判断条件){执行语句块}

   双向分支

    if(判断条件){执行语句块1}else{语句块2}

   多向分支

    elseif

    switch

       case

       default

循环语句

   while

   当满足条件时,执行

   计数器,变量

   判断条件

    do while

    先执行再判断

    for

特殊流程控制语句

break;  跳出本层循环

break 2;  跳出两层循环

continue; 跳出本次循环

die()

exit()   结束脚本

源码附执行结果

info.php

  1. <h1 style="color:red">This is info.php!</h1>
  2. <?php
  3. /*这是一个测试页面
  4. 这部分代码是注释*/
  5. phpinfo();//这是php探针
  6. ?>
  7. This is the end of info.php!


war.php

  1. <?php
  2. echo "This is var.php";
  3. echo "<hr />";
  4. echo "<span style='color:red;background:blue'>123</span>";
  5. ?>
  6. <hr />
  7. <?php
  8. echo $name;
  9. $name="ggg";
  10. echo "<hr />";
  11. echo $name;
  12. echo "<br />";
  13. unset($name);//释放变量
  14. echo $name;
  15. ?>


$$.php

  1. <?php
  2. $name="hello";
  3. $$name="world";
  4. echo $name;
  5. echo "<br />";
  6. echo $hello;//$$name;
  7. ?>


&$a.php

  1. <?php
  2. $a = 10;
  3. $b = $a;
  4. $b = $b+1;
  5. echo $a;//10
  6. echo "|";
  7. echo $b;//11
  8. echo "<hr />";
  9. $c = &$a;
  10. $c = $c+1;
  11. echo $a;//11
  12. echo "|";
  13. echo $c;//11
  14. ?>


bool.php

  1. <?php
  2. $man=true;
  3. $woman=false;
  4. echo $man;
  5. echo "<hr />";
  6. echo $woman; //echo 输出false时,输出空白。
  7. echo "<hr />";
  8. var_dump($man);
  9. var_dump($woman);
  10. ?>


string.php

  1. <?php
  2. $name="ggg";
  3. $str='$name,let\'s go ';
  4. var_dump($str);
  5. ?>
  6. <hr />
  7. <?php
  8. $str="{$name},let's go\$";
  9. var_dump($str);
  10. ?>
  11. <hr />
  12. <?php
  13. $str=<<<HTML
  14. <span style="color:red;background-color:black">This is DJF['"$%]</span>
  15. HTML;
  16. var_dump($str);
  17. ?>


define.php

  1. <?php
  2. define("NAME","GGG");
  3. var_dump(NAME);
  4. echo "<hr />";
  5. echo __FILE__;
  6. echo "<hr />";
  7. echo __LINE__;
  8. echo "<hr />";
  9. echo PHP_VERSION;
  10. echo "<hr />";
  11. echo DIRECTORY_SEPARATOR;
  12. ?>


ssysf.php(算数运算符)

  1. <?php
  2. $a = 10;
  3. $b = 5;
  4. $c = -$a;
  5. echo $c;
  6. echo "<hr />";
  7. $c = $a+$b;
  8. echo $c;
  9. echo "<hr />";
  10. $c = $a-$b;
  11. echo $c;
  12. echo "<hr />";
  13. $c = $a*$b;
  14. echo $c;
  15. echo "<hr />";
  16. $c = $a/$b;
  17. echo $c;
  18. echo "<hr />";
  19. $c = $a%$b;
  20. echo $c;
  21. echo "<hr />";
  22. echo $a++;//先输出,再自增
  23. echo "<hr />";
  24. echo ++$a;//先自增,再输出
  25. ?>


ljysf.php(逻辑运算符)

  1. <?php
  2. $a = true;
  3. $b = false;
  4. //$c = !$a;
  5. //var_dump($c);
  6. //$c = $a and $b;
  7. /*
  8. var_dump($c);//true
  9. var_dump($c = $a and $b);//false
  10. var_dump($c = ($a and $b));//false
  11. */
  12. //$c = ($a || $b);
  13. //var_dump($c);
  14. $c = ($a xor $b);
  15. var_dump($c);
  16. ?>


bjysf.php(比较运算符)

  1. <?php
  2. $a = 0;
  3. $b = false;
  4. $c = 0.0;
  5. $d = 1/3;
  6. $e = 2/6;
  7. $f = true;
  8. $g = 2;
  9. echo '$a==$b';
  10. var_dump($a == $b);
  11. echo "<br />";
  12. echo '$a===$b';
  13. var_dump($a === $b);
  14. echo "<br />";
  15. echo '$a!=$b';
  16. var_dump($a != $b);
  17. echo "<br />";
  18. echo '$a!==$b';
  19. var_dump($a !== $b);
  20. echo "<br />";
  21. echo '$a>$g:';
  22. var_dump($a > $g);
  23. echo "<br />";
  24. echo '$a<$g:';
  25. var_dump($a < $g);
  26. ?>


zfcysf.php(字符串运算符)

  1. <?php
  2. $name = "GGG";
  3. $hello = "Hello";
  4. $num = "3.14";
  5. echo $num.$hello.",".$name.".".";".'123456';
  6. ?>


qtysf.php(其他运算符)

  1. <?php
  2. $a = 10<20?10:20;
  3. echo $a;
  4. echo "<hr />";
  5. echo `whoami`;
  6. echo "<hr />";
  7. echo @$name;
  8. ?>


1.php(顺序)

  1. <?php
  2. $name = "GGG";
  3. echo $name;
  4. $name = "HJ";
  5. echo $name;
  6. ?>


2.php(单分支)

  1. <?php
  2. $grade = 59.9;
  3. if($grade > 60){
  4.                echo "pase";
  5. }
  6. ?>


3.php(双分支)

  1. <?php
  2. $grade = 60;
  3. if($grade >= 60){
  4.                echo "pase";
  5. }
  6. else{
  7.                echo "sorry";
  8. }
  9. ?>


4.php(多分支elseif)

  1. <?php
  2. $grade = rand(0,100);
  3. echo "Your grade is ".$grade.":";
  4. if($grade >= 90){
  5.                echo 'A';
  6. }
  7. elseif($grade >= 80){
  8.                echo 'B';
  9. }
  10. elseif($grade >= 70){
  11.                echo 'C';
  12. }
  13. elseif($grade >= 60){
  14.                echo 'D';
  15. }
  16. else{
  17.                echo 'sorry';
  18. }
  19. ?>


5.php(多分支switch

  1. <?php
  2. $day = rand(1,7);
  3. switch($day){
  4.                case 1:
  5.                                echo 'Monday';
  6.                                break;
  7.                case 2:
  8.                                echo 'Tuesday';
  9.                                break;
  10.                case 3:
  11.                                echo 'Wednesday';
  12.                                break;
  13.                case 4:
  14.                                echo 'Thursday';
  15.                                break;
  16.                default:
  17.                                echo 'What?';
  18. }
  19. ?>


6.phpwhile

  1. <?php
  2. $i=0;
  3. while($i<100){
  4.                echo ++$i." ";
  5. }
  6. ?>


7.php(do while)

  1. <?php
  2. $i=0;
  3. do{
  4.                echo ++$i." ";
  5. }while($i<11)
  6. ?>


8.php(for)

  1. <?php
  2. for($i=0;$i<=5;$i++){
  3.                echo "The number is {$i}.<br />";
  4. }
  5. ?>


9.php(break/break2)

  1. <?php
  2. /*
  3. for($i=0;$i<5;$i++){
  4.                echo "i=".$i."<hr />";
  5.                for($j=0;$j<5;$j++){
  6.                                echo "j=".$j."<br />";
  7.                                if($j==3)
  8.                                               break;
  9.                }
  10. }
  11. */
  12. for($i=0;$i<5;$i++){
  13.                echo "i=".$i."<hr />";
  14.                for($j=0;$j<5;$j++){
  15.                                echo "j=".$j."<br />";
  16.                                if($j==3)
  17.                                               break 2;
  18.                }
  19. }
  20. ?>


10.php(continue)

  1. <?php
  2. for($i=0;$i<3;$i++){
  3.                echo "i=".$i."<hr />";
  4.                for($j=0;$j<3;$j++){
  5.                                if($j==0){
  6.                                               echo "passing<br />";
  7.                                               continue;
  8.                                }
  9.                                echo "j=".$j."<br />";
  10.                }
  11. }
  12. ?>


11.php(exit()/die())

  1. <?php
  2. for($i=0;$i<3;$i++){
  3.                echo "i=".$i."<hr />";
  4.                for($j=0;$j<3;$j++){
  5.                                if($j==0){
  6.                                               echo "passing<br />";
  7.                                               //die();
  8.                                               exit("The end !");
  9.                                }
  10.                                echo "j=".$j."<br />";
  11.                }
  12. }
  13. ?>

12.php(乘法口诀)

  1. <?php
  2. for($i=1;$i<=9;$i++){
  3.                for($j=1;$j<=$i;$j++){
  4.                                echo "{$i}*{$j}=".$i*$j."  ";
  5.                }
  6.                echo "<br />";
  7. }
  8. ?>


相关文章:

PHP阶段一

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

用人话讲计算机:Python篇!(十五)迭代器、生成器、装饰器

一、迭代器 &#xff08;1&#xff09;定义 标准解释&#xff1a;迭代器是 Python 中实现了迭代协议的对象&#xff0c;即提供__iter__()和 __next__()方法&#xff0c;任何实现了这两个方法的对象都可以被称为迭代器。 所谓__iter__()&#xff0c;即返回迭代器自身 所谓__…...

5G -- 5G网络架构

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

VR线上展厅的色彩管理如何影响用户情绪?

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

Vue3:uv-upload图片上传

效果图&#xff1a; 参考文档&#xff1a; Upload 上传 | 我的资料管理-uv-ui 是全面兼容vue32、nvue、app、h5、小程序等多端的uni-app生态框架 (uvui.cn) 代码&#xff1a; <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游乐园管理系统设计与实现

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

一区牛顿-拉夫逊算法+分解+深度学习!VMD-NRBO-Transformer-GRU多变量时间序列光伏功率预测

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

uniapp使用腾讯地图接口的时候提示此key每秒请求量已达到上限或者提示此key每日调用量已达到上限问题解决

要在创建的key上添加配额 点击配额之后进入分配页面&#xff0c;分配完之后刷新uniapp就可以调用成功了。...

WPF 完美解决改变指示灯的颜色

WPF 完美解决改变指示灯的颜色 原有&#xff1a;自己再做WPF页面设计后发现直接去查找页面多个控件嵌套情况下找不到指示灯&#xff08;Button实现的&#xff0c;详细可以看这篇文章 这里&#xff09;&#xff0c;具体看看来如何实现 加粗样式思路&#xff1a;无论多级嵌套&a…...

Flutter/Dart:使用日志模块Logger Easier

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

阿里云云服务器初始化

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

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 行业的新手来说&#xff0c;RHCE 是快速建立专业基础、提升自身竞争力的绝佳途径。它能帮助新人系统地学习 Linux 系统知识&#xff0c;从基础的安装配置到复杂的网络服务管理&#xff0c;一步一个脚印地构建起坚实的技术框…...

FFmpeg 框架简介和文件解复用

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

《Java核心技术I》Swing中的边框

边框 BorderFactory静态方法创建边框&#xff0c;凹斜面&#xff0c;凸斜面&#xff0c;蚀刻&#xff0c;直线&#xff0c;蒙版&#xff0c;空白。 边框添加标题&#xff0c;BorderFactory.createTitledBorder 组合边框&#xff0c;BorderFactory.createCompoundBorder JCo…...

MySQL 中的常见错误与排查

在 MySQL 数据库的日常运维中&#xff0c;管理员可能会遇到各种错误。无论是查询性能问题、连接异常、数据一致性问题&#xff0c;还是磁盘空间不足等&#xff0c;及时排查并解决这些问题是保证数据库稳定运行的关键。本文将列出 MySQL 中一些常见的错误及其排查方法。 一、连接…...

SQL 查询方式比较:子查询与自连接

在 SQL 中&#xff0c;子查询和自连接是两种常见的查询方式&#xff0c;它们的功能虽然可以相同&#xff0c;但实现的方式不同。本文通过具体示例&#xff0c;深入探讨这两种查询方式&#xff0c;并配合数据展示&#xff0c;帮助大家理解它们的使用场景和差异。 数据示例 假设…...

Linux下学【MySQL】所有常用类型详解( 配实操图 通俗易懂 )

每日激励&#xff1a;“当你觉得你会幸运时&#xff0c;幸运就会眷顾你&#xff0c;所以努力吧&#xff0c;只要你把事情做好&#xff0c;并觉得你会幸运&#xff0c;你将会变得幸运且充实。” 绪论​&#xff1a; 本章继续学习MySQL的知识&#xff0c;本章主要讲到mysql中的所…...

Gin-vue-admin(1):环境配置和安装

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

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad&#xff08;Adaptive Gradient Algorithm&#xff09;是一种自适应学习率的优化算法&#xff0c;由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率&#xff0c;适合处理稀疏数据和不同参数梯度差异较大的场景。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组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复杂度…...

Device Mapper 机制

Device Mapper 机制详解 Device Mapper&#xff08;简称 DM&#xff09;是 Linux 内核中的一套通用块设备映射框架&#xff0c;为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程&#xff0c;并配以详细的…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

JavaScript 数据类型详解

JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型&#xff08;Primitive&#xff09; 和 对象类型&#xff08;Object&#xff09; 两大类&#xff0c;共 8 种&#xff08;ES11&#xff09;&#xff1a; 一、原始类型&#xff08;7种&#xff09; 1. undefined 定…...

WPF八大法则:告别模态窗口卡顿

⚙️ 核心问题&#xff1a;阻塞式模态窗口的缺陷 原始代码中ShowDialog()会阻塞UI线程&#xff0c;导致后续逻辑无法执行&#xff1a; var result modalWindow.ShowDialog(); // 线程阻塞 ProcessResult(result); // 必须等待窗口关闭根本问题&#xff1a…...

使用SSE解决获取状态不一致问题

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