PHP开发入门

PHP官网:PHP: Hypertext Preprocessor

apache官网:https://httpd.apache.org/

 一、搭建PHP环境

  1. 下载apache

进入官网点击download

 选择下载windows版本文件

点击进入下载界面

点击下载64位版本文件

下载后解压文件

解压文件后进入 D:\httpd-2.4.59-240404-win64-VS17\Apache24\bin

将bin目录下的地址添加到环境变量中

添加环境后进入 D:\httpd-2.4.59-240404-win64-VS17\Apache24下的conf文件夹用编辑器打开httpd.conf

修改和添加文件中的相关配置

//Apache24文件路径,根据自己文件的位置自行更改
Define SRVROOT "D:\httpd-2.4.59-240404-win64-VS17\Apache24"//添加如下配置
#加载PHP(在下载完PHP后添加)
LoadModule php_module 'D:/php/php8apache2_4.dll'
#加载PHP配置文件
PHPIniDir 'D:/php'
#分配给PHP
AddType application/x-httpd-php .php
<IfModule unixd_module>

至此apache安装配置完成,如果本地服务器未开启,在cmd中运行httpd命令即可开启

下载PHP

进入官网点击Download

在新的页面点击下载windows版本文件

 选择x64Thead Safe版本

解压后将php.exe所在目录添加到环境变量中,将php8apache2_4.dll配置到apache配置文件中即可

二、VS code插件配置

下载完成后进行尝试

三、基本语法

在网页中使用php

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><b><?php//在此写php代码?></b></body>
</html>

变量与常量

 定义变量
$var1= 1;
$var2;
删除变量
unset( $var1 );
定义常量
//定义常量方式一
define("PI", 3.14 );
echo PI;
// 方式二
const PII = 3;
访问常量
// 访问常量
echo constant('PII');// 访问常量
echo constant('PII');
PHP输出
//方式一echo PI;
//方式二
print(PI);
//区别:echo无返回值,print有返回值
系统常量
// 系统常量
echo '<hr/>',PHP_VERSION,'<br/>',PHP_INT_SIZE,'<br/>',PHP_INT_MAX,'<br/>';

 特殊常量

// 特殊常量
echo __DIR__;//当前执行脚本的绝对路径
echo __FILE__;//当前执行脚本所在电脑的绝对路径
echo __LINE__;//当前所属的行数
echo __NAMESPACE__;//当前所属的命名空间
echo __CLASS__;//当前所属的类
echo __METHOD__;//当前所属的方法

 数据类型

 整型
$int1 = 10;
浮点型
$float = 1.1;
布尔类型
$bool = true;
字符串类型
$str1 = '123'
数组类型
$array = [1, 2, 3, 4, 5];
对象类型
<?php
// 定义一个类
class Person {// 类属性public $name;public $age;// 类方法public function sayHello() {echo "Hello, my name is " . $this->name . " and I am " . $this->age . " years old.";}
}// 创建一个Person对象的实例
$person = new Person();// 设置对象属性
$person->name = "Alice";
$person->age = 30;// 调用对象方法
$person->sayHello(); // 输出: Hello, my name is Alice and I am 30 years old.
?>
Null类型
<?php$var = null;?>
资源类型
<?php$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
?>

类型转换和判断

<?php// 类型转换$a = '1.1';$b = '1.1';// 自动转换echo $a + $b;                // 强制转换echo '<br/>',(float)$a,'<br/>',(float)$b;// 类型判断echo var_dump(is_string($a));echo var_dump(is_float($a));echo var_dump(is_int($a));// 获取变量的类型echo gettype($a),'<hr/>';// 设定数据类型var_dump(settype($a,'string'));echo gettype($a),'<hr/>';?>

运算符

<?php$var1 =10;$var2 = 11;echo $var1 > $var2; //大于echo $var1 >= $var2; //大于等于echo $var1 < $var2; //小于echo $var1 <= $var2; //小于等于echo $var1 != $var2; //不等于echo $var1 == $var2; //等于echo $var1 === $var2; //全等于echo $var1 !== $var2; //不全等于echo $var1 && $var2; //与echo $var1 || $var2; //或echo $var1 = !($var2); //取反echo $var1 .= $var2; //连接运算符@($var1%$var2) //错误抑制
?>

三目运算

<?php$var1 =10;$var2 = 11;$var3 = $var1 ==10?"good":"你好";
?>

自操作 

<?php$var1 =10;$var2 = 11;$var1++; //自加1,先赋值后加1++$var2; //自加1,先加1后赋值
?>

四、循环判断结构

if语句

<?php$var1 =11;$var2 = 11;if($var1==10) echo "<h1>1</h1>";elseif($var1 == $var2) echo "<h1>2</h1>";else "<h1>错误</h1>";
?>

switch语句 

    <?php$var1 = 11;$var2 = 11;switch ($var1) {case 11:echo "<h1>11</h1>";break;case 12:echo "<h1>11</h1>";break;case 13:echo "<h1>11</h1>";break;case 14:echo "<h1>11</h1>";break;}?>

 For循环

<?php$var1 = 11;$var2 = 11;for($var3=0;$var3<10;$var3++){echo "<h1>{$var3}</h1>";}?>

 while和do...while

<?php$var1 = 11;$var2 = 11;while($var1){$var1++;if($var1==15) break;echo "\$var1 = $var1";}?>
<?php$var1 = 11;$var2 = 11;do{$var1++;echo $var1;}while($var1==11);?>

 

 

 

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

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

相关文章

一点连接千家银行,YonSuite让“企业付款”更便利

在快速变化的商业环境中&#xff0c;企业的运营效率直接决定了其市场竞争力。特别是对于财务团队来说&#xff0c;每一次付款的流畅与便捷&#xff0c;都是企业高效运作的关键。今天&#xff0c;我们为您带来一个先进性的解决方案——YonSuite&#xff0c;它以其独特的“一点连…

医学中脑机接口技术的未来

医学中脑机接口技术的未来 李升伟 编译 对非侵入性脑机接口&#xff08;而不是植入物&#xff09;日益增长的兴趣可能会提高患者的易使用性&#xff0c;但分辨率需要提高。 图片来源&#xff1a;Denis Pobytov / DigitalVision Vectors / Getty 全球范围内正在展开一场争夺利用…

使用 RT 矩阵进行 3D 点云变换详解(基于 PCL 和 Eigen 库)

在 3D 点云处理中&#xff0c;RT 矩阵是一个常用的工具&#xff0c;用于对点云进行旋转和平移操作。本文将详细介绍 RT 矩阵的概念&#xff0c;并通过一个示例程序演示如何基于 PCL 和 Eigen 库将一帧点云进行矩阵变换再输出。 本教程的示例代码和点云数据可在 GitHub 下载。 什…

多电压档hold扫尾

MMMC下STA收敛更为困难&#xff0c;setup通过DMSA可以很好的得到收敛&#xff1b;但是常规的时序修复工具很难通过工具得到最终clean的时序状态&#xff0c;本文介绍一种多模多角下hold的收敛方法。 该方法主要通过遍历hold路径上多电压setup的余量&#xff0c;支持从前往后和从…

【STM32嵌入式系统设计与开发---传感器拓展】——1_2_蓝牙主从模块_AT配置(HC-05)

一、主机蓝牙设置 # 1、重置模块 ATORGL # 2、设置名字&#xff0c;自己随便设置 ATNAMEMaster # 3、设置连接密码&#xff0c;要和从机一样&#xff0c;密码好像可以不加双引号 ATPSWD"1234" # 4、设置为主机 ROLE 1 为主机 ROLE 0为从机 ATROLE1 # 5、设置波特…

【OpenGL手册14】实例化

目录 一、说明 二、实例化 三、实例化数组 四、小行星带 五、完整代码 六、结论 一、说明 实例化渲染&#xff0c;是用少数数据做模板&#xff0c;实现海量物体渲染的手段方法。用实例化渲染&#xff0c;需要对每个实例产生一定描述数据。如何实现&#xff1f;请看本文下…

docker-compose 映射端口失败! docker端口映射失败 ,docker映射只能使用老端口,映射无法使用

1. 现象 使用docker-compose 启动项目&#xff0c;发现映射端口出现问题&#xff0c;不能映射端口&#xff01; 如图&#xff1a; 使用原来端口是可以使用的 2. 问题原因&#xff1a; 使用了docker-mode 为host模式&#xff0c;所以不能换端口&#xff0c;只能写为"8086:…

SpringBoot——基于Spring Task实现定时任务

目录 定时任务 项目总结 新建一个SpringBoot项目 pom.xml无需引入依赖 SpringTaskDemo SpringbootSpringtaskApplication启动类 定时任务 在日常的项目开发中&#xff0c;往往会涉及一些需要做到定时执行的代码&#xff0c;例如自动将超过24小时的未付款的订单改为取消状…

【调试笔记-20240522-Windows-WSL 修改已安装发行版名称】

调试笔记-系列文章目录 调试笔记-20240522-Windows-WSL 修改已安装发行版名称 文章目录 调试笔记-系列文章目录调试笔记-20240522-Windows-WSL 修改已安装发行版名称 前言一、调试环境操作系统&#xff1a;Windows 10 专业版调试环境调试目标 二、调试步骤方法一&#xff1a;修…

数字化校园的特征

"数字化校园"是校园信息化进入高级阶段的表现形式&#xff0c;信息技术与教育教育的交融应该更深化。因而&#xff0c;数字化校园应该具以下特征&#xff1a; 1.互联网络高速发展 网络是信息时代的根基&#xff0c;没有网络就无法完成教育信息化的绝大部分作业。数字…

Go Redis 实现邮件群发

一、安装 go get github.com/go-redis/redis/v8二、邮箱服务配置,以QQ邮箱为例 三、示例代码 package mainimport ("context""fmt"redis "github.com/go-redis/redis/v8""gopkg.in/gomail.v2""gopkg.in/ini.v1"&quo…

总结 HTTP 协议的基本格式

一、HTTP 是什么 HTTP ( 全称为 " 超文本传输协议 ") 是一种应用非常广泛的 应用层协议 . HTTP 诞生与 1991 年 . 目前已经发展为最主流使用的一种应用层协议 . HTTP 协议目前有三个大版本: HTTP / 1 和 HTTP / 2 都是基于TCP 传输控制协议传输数据。最新版本的…

60. UE5 RPG 使用场景查询系统(EQS,Environment Query System)实现远程敌人寻找攻击位置

UE的Environment Query System&#xff08;EQS&#xff09;是环境查询系统&#xff0c;它是UE4和UE5中用于AI决策制定过程中的数据采集和处理的一个强大工具。EQS可以收集场景中相关的数据&#xff0c;利用生成器&#xff08;Generator&#xff09;针对用户的测试&#xff08;T…

基于SpringBoot的旅游管理系统

基于SpringBoot的旅游管理系统 旅游管理系统开发技术功能模块代码结构数据库设计运行截图源码获取 旅游管理系统 开发技术 技术&#xff1a;SpringBoot、MyBatis-Plus、MySQL、Beetl、Layui。 框架&#xff1a;基于开源框架Snowy-Layui开发。 工具&#xff1a;IDEA、Navicat等…

Python 读取.shp文件并生成图幅编号

代码适用于需要处理和分析地理空间数据的场景&#xff0c;如城市规划、环境监测或自然资源管理&#xff0c;其中它可以帮助用户读取特定区域的Shapefile文件&#xff0c;确定其地理边界&#xff0c;并基于这些边界计算出按照经纬度5度间隔的图幅编号&#xff0c;进而用于地图制…

django中,无法跳转到请求的html页面?

出现错误&#xff1a; You’re seeing this error because you have DEBUG True in your Django settings file. Change that to False, and Django will display a standard 404 page. 在urls中&#xff0c;注释了系统的默认配置&#xff0c;这时就需要在setting配置文件中&…

Android Studio 版本升级后 Gradle project sync failed(Android V 应用升级)

问题及解决方案 更新到蜥蜴 Android Studio Iguana 后&#xff0c;出现Gradle project sync failed的问题&#xff08;IDE更新版本的常态了&#xff09;。 背景&#xff1a;对应用进行Android V版本升级&#xff08;SDK35&#xff0c;gradle插件版本要 8.4.0&#xff09; 1、…

Java实现对PDF、纵向、横向页面添加自定义水印功能

Java实现对PDF、纵向、横向页面添加自定义水印 效果图 -- 纵向 页面PDF使用到JAR Maven依赖版本效果图 -- 横向页面PDF 效果图 – 纵向 页面PDF 代码如下&#xff1a; 使用到JAR Maven依赖版本 <dependency><groupId>org.apache.pdfbox</groupId><artifa…

redis 主从复制薪火相传 哨兵sentinel配置以及底层原理

薪火相传 我们知道redis的主从复制还有一个常见的架构 ---薪火相传 使用这种结构可以有效减轻master节点的复制数据同步压力 注意这里的6380节点仍然是slave节点 可以理解为一个中间节点,仍然是不可以写只可以读取的 我们只需要使用 slaveof ip port 这里可能访问节点的时候出…

yolov系列

学习一个深度学习网络&#xff0c;就看三点&#xff0c;1. 网络架构 2.输入输出 3.损失函数 yolov1 2015年诞生的YOLOv1创造性地使用端到端结构完成了物体检测任务&#xff0c;把检测问题转换成了回归问题&#xff0c;直接预测物体的类别和位置。 每个grid有30维&#xff0c;…