PHP阶段一

news2025/2/26 5:19:38

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. ?>


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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C#】实现Json转Lua (Json2Lua)

关键词: C#、JsonToLua、Json2Lua、对象序列化Lua 前提需引入NewtonsofJson&#xff0c;引入方法可先在Visual Studio 2019 将Newtonsoft.Json.dll文件导入Unity的Plugins下。 Json格式字符串转Lua格式字符串&#xff0c;效果如下&#xff1a; json字符串 {"1": &q…

GM_T 0039《密码模块安全检测要求》题目

单项选择题 根据GM/T 0039《密码模块安全检测要求》,送检单位的密码模块应包括()密码主管角色。 A.一个 B.两个 C.至少一个 D.至少两个 正确答案:C 多项选择题 根据GM/T 0039《密码模块安全检测要求》,关于非入侵式安全,以下属于安全三级密码模块要求的是()。 …

在 Ubuntu 上安装 Muduo 网络库的详细指南

在 Ubuntu 上安装 Muduo 网络库的详细指南 首先一份好的安装教程是非常重要的 C muduo网络库知识分享01 - Linux平台下muduo网络库源码编译安装-CSDN博客 像这篇文章就和shit一样&#xff0c;安装到2%一定会卡住&#xff0c;如果你不幸用了这个那真是遭老罪了 环境&#xf…

MySQL存储引擎-数据文件

InnoDB数据文件存储结构 分为一个ibd数据文件–>Segment&#xff08;段&#xff09;–>Extent&#xff08;区&#xff09;–>Page&#xff08;页&#xff09;–>Row&#xff08;行&#xff09; Tablesapce 表空间&#xff0c;用于存储多个ibd数据文件&#xff…

医药垃圾分类管理系统|Java|SSM|JSP|

【技术栈】 1⃣️&#xff1a;架构: B/S、MVC 2⃣️&#xff1a;系统环境&#xff1a;Windowsh/Mac 3⃣️&#xff1a;开发环境&#xff1a;IDEA、JDK1.8、Maven、Mysql5.7 4⃣️&#xff1a;技术栈&#xff1a;Java、Mysql、SSM、Mybatis-Plus、JSP、jquery,html 5⃣️数据库可…

深度学习之目标检测篇——残差网络与FPN结合

特征金字塔多尺度融合特征金字塔的网络原理 这里是基于resnet网络与Fpn做的结合&#xff0c;主要把resnet中的特征层利用FPN的思想一起结合&#xff0c;实现resnet_fpn。增强目标检测backone的有效性。代码实现如下&#xff1a; import torch from torch import Tensor from c…

多协议视频监控汇聚/视频安防系统Liveweb搭建智慧园区视频管理平台

智慧园区作为现代化城市发展的重要组成部分&#xff0c;不仅承载着产业升级的使命&#xff0c;更是智慧城市建设的重要体现。随着产业园区竞争的逐渐白热化&#xff0c;将项目打造成完善的智慧园区是越来越多用户关注的内容。 然而我们往往在规划前期就开始面临众多难题&#…

【WPF】把DockPanel的内容生成图像

要在WPF中将一个 DockPanel 的内容生成为图像并保存&#xff0c;可以按照与之前类似的步骤进行&#xff0c;但这次我们将专注于 DockPanel 控件而不是整个窗口。 DockPanel的使用 WPF&#xff08;Windows Presentation Foundation&#xff09;中的 DockPanel 是一种布局控件&…

【电商推荐】平衡效率与效果:一种优化点击率预测的LLM融合方法

【电商推荐】平衡效率与效果&#xff1a;一种优化点击率预测的LLM融合方法 目录 文章目录 【电商推荐】平衡效率与效果&#xff1a;一种优化点击率预测的LLM融合方法目录文章摘要研究背景问题与挑战如何解决创新点算法模型多级知识蒸馏模块&#xff08;MKDM&#xff09;多级知识…

Y3编辑器教程6:触发器进阶案例

文章目录 一、地形制作1.1 地形制作流程1.2 关卡白盒1.3 场景美化1.4 优化场景 二、触发结构三、玩家指引&#xff08;函数封装&#xff09;3.1 项目拆解3.2 功能实现3.2.1 绘制UI界面3.2.2 UI的读取显示和刷新3.2.3 交互功能3.2.4 最终实现 四、NPC对话系统4.1 项目拆解4.2 UI…

2024年11月 蓝桥杯青少组 STEMA考试 Scratch真题

2024年11月 蓝桥杯青少组 STEMA考试 Scratch真题&#xff08;选择题&#xff09; 题目总数&#xff1a;5 总分数&#xff1a;50 选择题 第 1 题 单选题 Scratch运行以下程宇后&#xff0c;小兔子会&#xff08; &#xff09;。 A. 变小 B. 变大 C. 变色 D. …

ZED-OpenCV项目运行记录

项目地址&#xff1a;GitCode - 全球开发者的开源社区,开源代码托管平台 使用 ZED 立体相机与 OpenCV 进行图像处理和深度感知 • 使用 ZED 相机和 OpenCV 库捕获图像、深度图和点云。 • 提供保存并排图像、深度图和点云的功能。 • 允许在不同格式之间切换保存的深度图和点云…

Nacos 3.0 考虑升级到 Spring Boot 3 + JDK 17 了!

Nacos 由阿里开源&#xff0c;是 Spring Cloud Alibaba 中的一个重要组件&#xff0c;主要用于发现、配置和管理微服务。 由于 Spring Boot 2 的维护已于近期停止&#xff0c;Nacos 团队考虑升级到 Spring Boot 3 JDK 17&#xff0c;目前正在征求意见和建议。 这其实是一件好…

(css)鼠标移入或点击改变背景图片

(css)鼠标移入或点击改变背景图片 html <div class"mapTip"><divv-for"(item, index) of legendList":key"index"class"mapTipOne":class"{ active: change index }"click"legendHandle(item, index)"…

Grad-CAM-模型可视化分析方法

模型的可视化分析对于理解模型的行为有很好的辅助作用&#xff0c;能够让人们更容易理解神经网络的决策过程。 Grad-CAM&#xff08;Gradient-weighted Class Activation Mapping&#xff09;是一种用于解释卷积神经网络&#xff08;CNN&#xff09;决策过程的方法&#xff0c;…

常见八股文03

35.autowired、qualifier和Resource区别 Autowired&#xff1a;基于类型的注入 Qualifier&#xff1a;基于名称进行注入 Resource:按名称装配注入&#xff0c;如果找不到与名称匹配的bean&#xff0c;则按类型装配注入&#xff0c;可以用于字段和方法上 36.代理模式 动态代…

Pytorch | 利用NI-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击

Pytorch | 利用NI-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击 CIFAR数据集NI-FGSM介绍背景算法流程 NI-FGSM代码实现NI-FGSM算法实现攻击效果 代码汇总nifgsm.pytrain.pyadvtest.py 之前已经针对CIFAR10训练了多种分类器&#xff1a; Pytorch | 从零构建AlexNet对CIFAR10进行…

redis开发与运维-redis02-redis数据类型与命令总结

文章目录 【README】【1】redis通用命令与数据结构【1.1】通用命令【1.2】数据结构与内部编码【1.3】redis单线程架构【1.3.1】redis单线程优缺点 【2】字符串&#xff08;值的类型为字符串&#xff09;【2.1】常用命令【2.1.1】设置值【2.1.2】获取值【2.1.3】批量设置值【2.1…

机器学习《西瓜书》学习笔记《待续》

如果说&#xff0c;计算机科学是研究关于“算法”的学问&#xff0c;那么机器学习就是研究关于“学习算法”的学问。 目录 绪论引言基本术语 扩展向量的张成-span使用Markdown语法编写数学公式希腊字母的LaTex语法插入一些数学的结构插入定界符插入一些可变大小的符号插入一些函…

电脑开机提示error loading operating system怎么修复?

前一天电脑还能正常运行&#xff0c;但今天启动时却显示“Error loading operating system”&#xff08;加载操作系统错误&#xff09;。我已经仔细检查了硬盘、接线、内存、CPU和电源&#xff0c;确认这些硬件都没有问题。硬盘在其他电脑上可以正常使用&#xff0c;说明不是硬…