初识PHP

一、格式

  1. 每行以分号结尾
<?phpecho 'hello';
?>

二、echo函数和print函数

  1. 作用:两个函数都是输出内容到页面中,多用于代码调试。
<?php
echo "<h1 style='text-align: center;'>test</h1>";
print "<h1 style='text-align: center;'>test</h1>";
?>
  1. 效果图

image.png

三、注释符

  1. 单行注释
    1. //
# //
# 
# PhpStorm快捷键:Ctrl+/<?php
// echo "<h1 style='text-align: center;'>test</h1>";
#  echo "<h1 style='text-align: center;'>test</h1>";
?>
  1. 多行注释
# /**/
# PhpStorm快捷键:Ctrl+Shift+/<?php
/** echo "<h1 style='text-align: center;'>test</h1>";
echo "hello"
*/
?>

四、运算符

  1. 加减乘除
<?php
echo 1+3 ;
echo '<br/>';
echo 6-1;
echo '<br/>';
echo 2*3 ;
echo '<br/>';
echo 6/2 ;
echo '<br/>';
?>
  1. 效果图:
    1. 疑问:2为什么在最底下

image.png

五、数据类型

  1. 类型汇总:
    1. String(字符串)
    2. Integer(整型)
    3. Float(浮点型)
    4. Boolean(布尔型)
    5. Array(数组)
    6. Object(对象)
    7. NULL(空值)
    8. Resource(资源类型)
  2. 示例代码:
<?php
echo "=====int=======";
echo "<br>";
echo 1; # 整型  数字型
echo "<br>";
var_dump(1); #var_dump用于查看值的数据类型
echo "<br>";
echo "=====string=======";
echo "<br>";
echo "1"; # 字符型
echo "<br>";
var_dump("1");
echo "<br>";
echo "=====float=======";
echo "<br>";
echo 1.1; # 浮点型
echo "<br>";
var_dump(1.1);
echo "<br>";
echo "=====boolean=======";
echo "<br>";
echo false; # 布尔型
echo "<br>";
var_dump(true);
echo "<br>";
echo "=====array=======";
echo "<br>";
$array = array('1','2','3'); # 数组
echo $array[0]; # 输出数组中下标为0的数据
echo "<br>";
var_dump($array);
echo "<br>";
echo "=====null=======";
echo "<br>";
$null = null;
echo $null; # 输出数组中下标为0的数据
echo "<br>";
var_dump($null);
echo "<br>";
echo "=====resource=======";
echo "<br>";/*$c = mysql_connect();
echo get_resource_type($c) . "\n";
// 打印:mysql link$fp = fopen("foo", "w");
echo get_resource_type($fp) . "\n";
// 打印:file$doc = new_xmldoc("1.0");
echo get_resource_type($doc->doc) . "\n";
// 打印:domxml document*/echo "<br>";
echo "=====object=======";
echo "<br>";class Color{function print(){echo "this is color";}}
$color = new Color();
$color->print();?>
  1. 效果

image.png

六、变量

  1. 变量是用于存储信息的"容器",变量以 $ 符号开始
    1. 变量名必须以字母或者下划线字符开始
    2. 变量名只能包含字母、数字以及下划线(A-z、0-9 和 _ )
    3. 变量名不能包含空格
    4. 变量名是区分大小写的($y 和 $Y 是两个不同的变量)
    5. 扩展
      1. 在上面的实例中,我们注意到,不必向 PHP 声明该变量的数据类型。
      2. PHP 会根据变量的值,自动把变量转换为正确的数据类型。
      3. 在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称。
  2. 示例
# 输出结果为:1
<?php
$num=1;
echo $num;
?>
  1. 强转数据类型
# 将字符串强转为整型
<?php
$num="1";
$num = (int)$num;
echo var_dump($num); # 结果为:int(1)
?>

七、判断语句

  1. If语句
# == 判断值
# === 判断值和数据类型
# 最后结果为 success
<?php
if(1==="1"){echo "fail1";
}
elseif (1===1){echo "success";
}
else{echo "fail2";
}
?>
  1. switch语句
# 结果为:1
<?php
$num =1;
switch($num){case 1:echo "1";break;case 2:echo "2";break;default:echo "error";
}
?>
  1. 示例:输入值并判断是否相等
# 输入11,返回success
# 输入其他值,返回error
<html >
<body>
<form action="test01.php" method="post">请输入值: <input type="text"   name="num"><input type="submit" >
</form>
</body>
</html><?php
$num = $_POST["num"];
if ($num==11){echo "success";
}
else{echo "error";
}
?>

八、循环语句

  1. for循环
<?php
for ($i = 0; $i < 10; $i++) {echo $i;
}
?>
  1. 效果图

image.png

  1. while循环
<?php
$index=0;
while($index<10){echo $index."<br>";$index++;
}?>
  1. 效果图

image.png

九、基本函数

  • array()

  • 用于创建一个数组。

  • is_array()

    • 用于判断给定变量是否是数组类型,返回布尔值。
  • count()

    • 用于获取数组或对象的元素个数。
  • sizeof()

    • 与count()函数类似,用于获取数组或对象的元素个数。
  • in_array()

    • 用于检查一个值是否在数组中,返回布尔值。
  • array_search()

    • 查找数组中的键值是否存在,返回键名或false。
  • array_keys()

    • 返回数组中所有的键名。
  • array_values()

    • 返回数组中所有的值。
  • array_merge()

    • 用于合并一个或多个数组。
  • array_pop()

    • 返回数组中最后一个元素,并将其删除。
  • array_push()

    • 将一个或多个元素插入到数组末尾。
  • array_shift()

    • 返回数组中第一个元素,并将其删除。
  • array_unshift()

    • 将一个或多个元素插入到数组开头。
  • implode()

    • 用于将数组元素连接成字符串。
  • explode()

    • 用于将字符串按指定分隔符分割成数组。
  • str_replace()

    • 用于查找和替换字符串中某个子串。
  • substr()

    • 用于获取字符串的部分内容。
  • urlencode()

    • 用于将字符串转换为URL编码格式。
  • urldecode()

    • 用于将URL编码字符串转换为原始字符串。
  • htmlentities()

    • 用于将字符串中的HTML实体转换为原始字符。
  • htmlspecialchars()

    • 用于将特殊字符转换为HTML实体。
  • trim()

    • 用于去除字符串开头和结尾处的空格或其他字符。
  • nl2br()

    • 用于将换行符(\n)转换为HTML的换行标签()。
  • header()

    • 用于设置HTTP响应头信息。
  • session_start()

    • 用于启动一个新的或继续当前的会话。
  • $_SESSION

    • 用于在会话中存储和获取变量的值。
  • file_get_contents()

    • 用于获取文件的内容。
  • file_put_contents()

    • 用于将数据写入文件中。
  • fopen()

    • 用于打开文件或URL,返回文件句柄。
  • fclose()

    • 用于关闭打开的文件句柄。
  • fgets()

    • 用于从文件指针读取一行。
  • fgetcsv()

    • 用于从文件指针读取CSV文件中的一行并解析为数组。
  • fwrite()

    • 用于向文件中写入数据。
  • isset()

    • 用于检测变量是否设置并且有值,返回布尔值。
  • empty()

    • 用于判断变量是否为空或者是否包含值为0的元素,返回布尔值。
  • is_numeric()

    • 用于判断一个变量是否为数字类型,返回布尔值。
  • intval()

    • 用于将字符串转换为整数类型。
  • floatval()

    • 用于将字符串转换为浮点数类型。
  • strval()

    • 用于将一个值转换为字符串类型。
  • rand()

    • 用于生成一个随机数。
  • time()

    • 用于获取当前时间的时间戳。
  • date()

    • 用于获取当前日期和时间。
  • strtotime()

    • 用于将文本日期时间转换为Unix时间戳。
  • mail()

    • 用于发送电子邮件。
  • preg_match()

    • 用于在字符串中查找匹配的模式。
  • preg_replace()

    • 用于在字符串中搜索和替换匹配的模式。
  • md5()

    • 用于计算字符串的MD5哈希值。
  • sha1()

    • 用于计算字符串的SHA-1哈希值。
  • base64_encode()

    • 用于将文本字符串转换为base64格式。
  • base64_decode()

    • 用于将base64格式字符串解码为文本字符串。

十、 超级全局变量

  • PHP中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用。 你不需要特别说明,就可以在函数及类中使用。
  • PHP 超级全局变量列表:
  • $GLOBALS
  • $_SERVER
  • $_REQUEST
  • $_POST
  • $_GET
  • $_FILES
  • $_ENV
  • $_COOKIE
  • $_SESSION

十一、表单注册示例

  • 代码示例
<?php
$userNameError=$passwordError=$confirmPasswordError='';
$userName=$password=$confirmPassword='';
if(isset($_POST["registerBtm"])){$userName =outFormat( $_POST["userName"]);$password = outFormat($_POST["password"]);$confirmPassword =outFormat($_POST["confirmPassword"]);if(!empty($userName)){if(!empty($password)){if(!empty($confirmPassword)){if(userNameReg($userName)){if(passwordReg($password)){if($password == $confirmPassword){echo "<script>alert('注册成功!')</script>";}else{$confirmPasswordError = "两次密码不一致";}}else{$passwordError="字母、数字、下划线组合的8位密码";}}else{$userNameError="以字母开头,长度为8";}}else{$confirmPasswordError="请再次输入密码";}}else{$passwordError="请输入密码";}}else{$userNameError="请输入用户名";}
}
# 去除格式
function outFormat($value){$value=trim($value);$value=stripslashes($value);$value=htmlspecialchars($value);return $value;
}
/*- 以字母开头,长度为8的用户名- */
function  userNameReg($value)
{return preg_match("/^[a-zA-Z][a-zA-Z0-9_]{7}$/",$value)?true:false;
}
/*- 字母、数字、下划线组合的8位密码- */
function  passwordReg($value)
{return preg_match("/^[a-zA-Z0-9_]{8}$/",$value)?true:false;
}?>
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>*{padding:0;margin:0;/*border: 0;*/}body{background: #ffffff;}.box{box-shadow: 10px 10px 5px #f5f5f5;width:500px;height: 400px;border:1px solid #f5f5f5;border-radius: 20px;margin: 50px auto;}h3{text-align: center;padding-top: 20px;}.loginForm{padding-top: 100px;text-align: center;}.loginForm input{margin: 10px 0px;}.register{display: inline-block;color: #057070;cursor:pointer;transition: all 1s;}.register:hover{text-decoration: underline;transition: all 1s;}</style>l
</head>
<body><div class="box"><h3>注册</h3>
<!--
作用:请求自己的页面
参考:https://www.kancloud.cn/chunyu/php_basic_knowledge/973403
$_SERVER['PHP_SELF']             //当前正在执行脚本的文件名
htmlspecialchars():PHP中的一个字符串处理函数,用于将HTML标记转化为实体字符。
--><form action="<?php htmlspecialchars($_SERVER['PHP_SELF'])?>" method="post" class="loginForm">用户名:<input type="text" name="userName" value="<?php echo $userName?>"><span style="color:red;font-size: 10px"><?php echo $userNameError; ?></span><br/>&nbsp;&nbsp;&nbsp;码:<input type="password" name="password" value = "<?php echo $password ?>"><span style="color:red;font-size: 10px"><?php echo $passwordError; ?></span><br/><span style="margin-left: -16px" >确认密码:</span><input type="password" name="confirmPassword"  value = "<?php echo $confirmPassword?>"><span style="color:red;font-size: 10px"><?php echo $confirmPasswordError; ?></span><br/><input type="submit"  value="注册" name="registerBtm"></form><p style="text-align: center;font-size: 12px" ><a href="login.html" class="register">登录</a></p></div>
</body>
</html>
<!--
isset():检测变量是否设置
empty(): 判断变量是否为空true1:为空false0:不为空
preg_match(表达式,变量名):执行正则表达式匹配
-->
  1. 效果图

image.png

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

笔记 | 用go写个docker

仅作为自己学习过程的记录&#xff0c;不具备参考价值 前言 看到一段非常有意思的话&#xff1a; 很多人刚接触docker的时候就会感觉非常神奇&#xff0c;感觉这个技术非常新颖&#xff0c;其实并不然&#xff0c;docker使用到的技术都是之前已经存在过的&#xff0c;只不过旧…

如何在Spring Boot中实现图片上传至本地和阿里云OSS

在开发Web应用时&#xff0c;处理文件上传是常见的需求之一&#xff0c;尤其是在涉及到图片、视频等多媒体数据时。本文将详细介绍如何使用Spring Boot实现图片上传至本地服务器以及阿里云OSS存储服务&#xff0c;并提供完整的代码示例。 一、上传图片至本地 首先&#xff0c…

CMU最新论文:机器人智慧流畅的躲避障碍物论文详细讲解

CMU华人博士生Tairan He最新论文&#xff1a;Agile But Safe: Learning Collision-Free High-Speed Legged Locomotion 代码开源&#xff1a;Code: https://github.com/LeCAR-Lab/ABS B站实际效果展示视频地址&#xff1a;bilibili效果地址 我会详细解读论文的内容,让我们开始吧…

这个网站有点意思,可做SPRINGBOOT的启动图

在 SpringBoot 项目的 resources 目录下新建一个 banner.txt 文本文件&#xff0c;然后将启动 Banner 粘贴到此文本文件中&#xff0c;启动项目&#xff0c;即可在控制台展示对应的内容信息。 下面这个工具很好用&#xff0c;收藏精哦

C/C++:指针用法详解

C/C&#xff1a;指针 指针概念 指针变量也是一个变量 指针存放的内容是一个地址&#xff0c;该地址指向一块内存空间 指针是一种数据类型 指针变量定义 内存最小单位&#xff1a;BYTE字节&#xff08;比特&#xff09; 对于内存&#xff0c;每个BYTE都有一个唯一不同的编号…

积木搭建游戏-第13届蓝桥杯省赛Python真题精选

[导读]&#xff1a;超平老师的Scratch蓝桥杯真题解读系列在推出之后&#xff0c;受到了广大老师和家长的好评&#xff0c;非常感谢各位的认可和厚爱。作为回馈&#xff0c;超平老师计划推出《Python蓝桥杯真题解析100讲》&#xff0c;这是解读系列的第83讲。 积木搭建游戏&…

QT属性系统,简单属性功能快速实现 QT属性的简单理解 属性学习如此简单 一文就能读懂QT属性 QT属性最简单的学习

4.4 属性系统 Qt 元对象系统最主要的功能是实现信号和槽机制&#xff0c;当然也有其他功能&#xff0c;就是支持属性系统。有些高级语言通过编译器的 __property 或者 [property] 等关键字实现属性系统&#xff0c;用于提供对成员变量的访问权限&#xff0c;Qt 则通过自己的元对…

回归预测 | Matlab实现GWO-ESN基于灰狼算法优化回声状态网络的多输入单输出回归预测

回归预测 | Matlab实现GWO-ESN基于灰狼算法优化回声状态网络的多输入单输出回归预测 目录 回归预测 | Matlab实现GWO-ESN基于灰狼算法优化回声状态网络的多输入单输出回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现GWO-ESN基于灰狼算法优化回声状态…

软件下载网站源码附手机版和图文教程

PHP游戏应用市场APP软件下载平台网站源码手机版 可自行打包APP&#xff0c;带下载统计&#xff0c;带多套模板&#xff0c;带图文教程&#xff0c;可以做软件库&#xff0c;也可以做推广app下载等等&#xff0c;需要的朋友可以下载 源码下载 软件下载网站源码附手机版和图文…

Guava-EventBus 源码解析

EventBus 采用发布订阅者模式的实现方式&#xff0c;它实现了泛化的注册方法以及泛化的方法调用,另外还考虑到了多线程的问题,对多线程使用时做了一些优化&#xff0c;观察者模式都比较熟悉&#xff0c;这里会简单介绍一下&#xff0c;重点介绍的是如何泛化的进行方法的注册以及…

FineReport简单介绍

一、介绍 官网 &#xff1a;FineReport产品简介- FineReport帮助文档 - 全面的报表使用教程和学习资料 报表是以表格、图表的形式来动态展示数据&#xff0c;企业通过报表进行数据分析&#xff0c;进而用于辅助经营管理决策。 FineReport 是一款用于报表制作&#xff0c;分析和…

uniapp中unicloud接入支付宝订阅消息完整教程

经过无数次的尝试,终于还是让我做出来了 准备工作 设置接口加签方式 使用支付宝小程序订阅消息,首先要设置接口加签方式,需要下载支付宝开放平台密钥工具,按照步骤生成秘钥,然后按照支付宝设置密钥加签方式添加接口加签方式。 有一点需要注意的,因为要在云函数中使用,…

Mac M3 Pro安装Hadoop-3.3.6

1、下载Hadoop安装包 可以到官方网站下载&#xff0c;也可以使用网盘下载 官网下载地址&#xff1a;Hadoop官网下载地址 网盘地址&#xff1a;https://pan.baidu.com/s/1p4BXq2mvby2B76lmpiEjnA?pwdr62r提取码: r62r 2、解压并添加环境变量 # 将安装包移动到指定目录 mv …

基于flask的网站如何使用https加密通信-问题记录

文章目录 项目场景&#xff1a;问题1问题描述原因分析解决步骤解决方案 问题2问题描述原因分析解决方案 参考文章 项目场景&#xff1a; 项目场景&#xff1a;基于flask的网站使用https加密通信一文中遇到的问题记录 问题1 问题描述 使用下面的命令生成自签名的SSL/TLS证书和…

大模型基础——从零实现一个Transformer(3)

大模型基础——从零实现一个Transformer(1)-CSDN博客 大模型基础——从零实现一个Transformer(2)-CSDN博客 一、前言 之前两篇文章已经讲了Transformer的Embedding,Tokenizer,Attention,Position Encoding, 本文我们继续了解Transformer中剩下的其他组件. 二、归一化 2.1 L…

红队攻防渗透技术实战流程:中间件安全:JettyJenkinsWeblogicWPS

红队攻防渗透实战 1. 中间件安全1.1 中间件-Jetty-CVE&信息泄漏1.2 中间件-Jenkins-CVE&RCE执行1.2.1 cve_2017_1000353 JDK-1.8.0_291 其他版本失效1.2.2 CVE-2018-10008611.2.3 cve_2019_100300 需要用户帐号密码1.3 中间件-Weblogic-CVE&反序列化&RCE1.4 应…

使用python绘制三维曲线图

使用python绘制三维曲线图 三维曲线图定义特点 效果代码 三维曲线图 三维曲线图&#xff08;3D曲线图&#xff09;是一种用于可视化三维数据的图表&#xff0c;它展示了数据在三个维度&#xff08;X、Y、Z&#xff09;上的变化。 定义 三维曲线图通过在三维坐标系中绘制曲线…

数据结构之线性表(4)

前面我们了解到线性表中的顺序表、链表等结构&#xff0c;今天我们探讨新的一种线性表——栈。 那么我们开始栈的探讨之旅吧。 1.栈的基本概念 1.1栈&#xff08;Stack&#xff09;&#xff1a; 是只允许在一端进行插入或删除的线性表。首先栈是一种线性表&#xff0c;但限定…

sudo 用户切换

切换到centos 用户 sudo -i -u centos 解决centos sudo执行仍旧显示Permission denied 方法一&#xff08;建议&#xff09; 暂时切换到root用户 sudo -i然后执行命令即可 方法二 赋给当前用户权限&#xff1a; sudo chmod -R 777 目录路径 sudo chmod 777 文件路径.txt…

IDEA 设置主题、背景图片、背景颜色

一、设置主题 1、点击菜单 File -> Settings : 点击 Settings 菜单 2、点击 Editor -> Color Scheme -> Scheme, 小哈的 IDEA 版本号为 2022.2.3 , 官方默认提供了 4 种主题&#xff1a; Classic Light &#xff08;经典白&#xff09; ;Darcula &#xff08;暗黑主…