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


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

REMOTE_LISTENER引发的血案

作者&#xff1a;Digital Observer&#xff08;施嘉伟&#xff09; Oracle ACE Pro: Database PostgreSQL ACE Partner 11年数据库行业经验&#xff0c;现主要从事数据库服务工作 拥有Oracle OCM、DB2 10.1 Fundamentals、MySQL 8.0 OCP、WebLogic 12c OCA、KCP、PCTP、PCSD、P…

Redis篇--常见问题篇6--缓存一致性1(Mysql和Redis缓存一致,更新数据库删除缓存策略)

1、概述 在使用Redis作为MySQL的缓存层时&#xff0c;缓存一致性问题是指Redis中的缓存数据与MySQL数据库中的实际数据不一致的情况。这可能会导致读取到过期或错误的数据&#xff0c;从而影响系统的正确性和用户体验。 为了减轻数据库的压力&#xff0c;通常读操作都是先读缓…

Phono3py hdf5文件数据读取与处理

Phono3py是一个主要用python写的声子-声子相互作用相关性质的模拟包&#xff0c;可以基于有限位移算法实现三阶力常数和晶格热导率的计算过程&#xff0c;同时输出包括声速&#xff0c;格林奈森常数&#xff0c;声子寿命和累积晶格热导率等参量。 相关介绍和安装请参考往期推荐…

机器学习(四)-回归模型评估指标

文章目录 1. 哪个模型更好&#xff1f;2. 线性回归评估指标3. python 实现线性模型评估指标 1. 哪个模型更好&#xff1f; 我们之前已经对房价预测的问题构建了线性模型&#xff0c;并对测试集进行了预测。 如图所示&#xff0c;横坐标是地区人口&#xff0c;纵坐标是房价&am…

Oracle 适配 OpenGauss 数据库差异语法汇总

背景 国产化进程中&#xff0c;需要将某项目的数据库从 Oracle 转为 OpenGauss &#xff0c;项目初期也是规划了适配不同数据库的&#xff0c;MyBatis 配置加载路径设计的是根据数据库类型加载指定文件夹的 xml 文件。 后面由于固定了数据库类型为 Oracle 后&#xff0c;只写…

Unity引擎学习总结------动画控件

左侧窗格可以在参数视图和图层视图之间切换。参数视图允许您创建、查看和编辑动画控制器参数。这些是您定义的变量&#xff0c;用作状态机的输入。要添加参数&#xff0c;请单击加号图标并从弹出菜单中选择参数类型。要删除参数&#xff0c;请在列表中选择该参数并按删除键&…

记录:virt-manager配置Ubuntu arm虚拟机

virt-manager&#xff08;Virtual Machine Manager&#xff09;是一个图形用户界面应用程序&#xff0c;通过libvirt管理虚拟机&#xff08;即作为libvirt的图形前端&#xff09; 因为要在Linux arm环境做测试&#xff0c;记录下virt-manager配置arm虚拟机的过程 先在VMWare中…

VSCode 搭建Python编程环境 2024新版图文安装教程(Python环境搭建+VSCode安装+运行测试+背景图设置)

名人说&#xff1a;一点浩然气&#xff0c;千里快哉风。—— 苏轼《水调歌头》 创作者&#xff1a;Code_流苏(CSDN) 目录 一、Python环境安装二、VScode下载及安装三、VSCode配置Python环境四、运行测试五、背景图设置 很高兴你打开了这篇博客&#xff0c;更多详细的安装教程&…

VBA编程:自定义函数 - 字符串转Hex数据

目录 一、自定义函数二、语法将字符串转换为hex数据MID函数:返回一个字符串中指定位置和长度的子串LEN函数:返回一个字符串的长度(字符数)Asc函数三、定义变量和数据类型变量声明的基本语法常见的数据类型四、For循环基本语法五、&运算符一、自定义函数 定义:用户定义…

jvm字节码中方法的结构

“-Xss”这一名称并没有一个特定的“为什么”来解释其命名&#xff0c;它更多是JVM&#xff08;Java虚拟机&#xff09;配置参数中的一个约定俗成的标识。在JVM中&#xff0c;有多个配置参数用于调整和优化Java应用程序的性能&#xff0c;这些参数通常以一个短横线“-”开头&am…

网络架构与IP技术:4K/IP演播室制作的关键支撑

随着科技的不断发展&#xff0c;广播电视行业也在不断迭代更新&#xff0c;其中4K/IP演播室技术的应用成了一个引人注目的焦点。4K超高清技术和IP网络技术的结合&#xff0c;不仅提升了节目制作的画质和效果&#xff0c;还为节目制作带来了更高的效率和灵活性。那么4K超高清技术…

Mac上Stable Diffusion的环境搭建(还算比较简单)

https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Installation-on-Apple-Silicon AI兴起的速度是真的快&#xff0c;感觉不了解点相关的东西都要与时代脱节了&#xff0c;吓得我赶紧找个AIGC看看能不能实现我艺术家的人梦想&#xff08;绷不住了&#xff09; 我…

什么是虚拟机?常用虚拟机软件有哪些?

目录 VMware Workstation Oracle VM VirtualBox Microsoft Hyper-V 虚拟机&#xff08;Virtual Machine&#xff0c;简称VM&#xff09;是一种通过软件模拟的具有完整硬件系统功能的、运行在计算机上的软件。它允许用户在单一物理机器上同时运行多个操作系统&#xff0c;每个…

git branch -r(--remotes )显示你本地仓库知道的所有 远程分支 的列表

好的&#xff0c;git branch -r 这个命令用于列出远程分支。让我详细解释一下&#xff1a; 命令&#xff1a; git branch -rdgqdgqdeMac-mini ProductAuthentication % git branch -rorigin/main作用&#xff1a; 这个命令会显示你本地仓库知道的所有 远程分支 的列表。它不…

Day-03 Vue(生命周期、生命周期钩子八个函数、工程化开发和脚手架、组件化开发、根组件、局部注册和全局注册的步骤)

01.生命周期 Vue生命周期&#xff1a;就是一个Vue实例从创建 到 销毁 的整个过程 生命周期四个阶段&#xff1a;① 创建 ② 挂载 ③ 更新 ④ 销毁 1.创建阶段&#xff1a;创建响应式数据 2.挂载阶段&#xff1a;渲染模板 3.更新阶段&#xff1a;修改数据&#xff0c;更新视图 4…

安装SQL Server2019 Developer版本时出现“服务没有及时响应启动或控制请求”的问题

1. 异常描述 2. 异常分析 应该是数据库服务所属账户的权限不够&#xff0c;可以设置为Administrator&#xff1b; 3. 异常解决 参考资料&#xff1a;https://blog.csdn.net/zi_longh/article/details/130293081 注意&#xff1a;SQL Server代理和SQL Server数据库引擎的账户…

【系统移植】制作SD卡启动——将uboot烧写到SD卡

在开发板上启动Linux内核&#xff0c;一般有两种方法&#xff0c;一种是从EMMC启动&#xff0c;还有一种就是从SD卡启动&#xff0c;不断哪种启动方法&#xff0c;当开发板上电之后&#xff0c;首先运行的是uboot。 制作SD卡启动&#xff0c;首先要将uboot烧写到SD卡&#xff…

2. FPGA基础了解--全局网络

前言 引入扇出的概念介绍FPGA中的全局网络为后续时序优化埋下伏笔 扇出 在FPGA设计中扇出是一个重要的概念&#xff0c;所谓的扇出就是一个控制信号所能控制的数据信号的总个数&#xff0c;比如ctrl信号的扇出就是16 reg ctrl 0; reg [15:0] out 0; always (posedge c…

RAGFlow(3):VScode端口转发在在本机浏览(比内网穿透好用)

docker会在内网服务器上的80端口部署&#xff0c;然而内网Ip是无法访问到的&#xff0c;所以无法看到页面。所以之前想到的解决方法是利用zerotier工具做内网穿透&#xff0c;将内网服务器的公网ip和本机ip组成一个局域网&#xff0c;把内网Ip变成了192.168xxx&#xff0c;这样…

生成式AI大模型未来发展趋势:开启创造力无限可能

随着人工智能技术的不断突破&#xff0c;生成式AI大模型正逐渐成为业界关注的焦点。从文本生成、图像创作到音乐创作&#xff0c;生成式AI大模型在多个领域展现出惊人的创造力。展望未来&#xff0c;生成式AI大模型的发展趋势将呈现以下特点&#xff1a; 一、模型规模持续扩大&…