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

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);?>

 

 

 

相关文章:

PHP开发入门

PHP官网&#xff1a;PHP: Hypertext Preprocessor apache官网&#xff1a;https://httpd.apache.org/ 一、搭建PHP环境 下载apache 进入官网点击download 选择下载windows版本文件 点击进入下载界面 点击下载64位版本文件 下载后解压文件 解压文件后进入 D:\httpd-2.4.59-24…...

HBase分布式数据库入门到精通

文章目录 HBase分布式数据库入门到精通 一、简单介绍 二、HBase数据模型 三、HBase的架构 四、HBase写操作流程 五、HBase读操作流程 六、HBase minor小合并和major大合并 七、HBase目标表meta表 八、HBase特点 九、HBase的使用场景 HBase分布式数据库入门到精通 一、…...

Java程序员必备技能之MySQL数据库 图解整理/快速入门

恭喜大家来到全新的篇章——MySQL数据库,这一篇我们将学会MySQL数据库的原理、使用sql对数据库的增删改查操作、以及对MySQL数据库的权限管理和用户管理等内容。请大家耐心看下去,相信大家在看完这篇文章后,一定可以学会MySQL数据库(不会Java也可以学会!)。 ps:想要补充…...

效果炸裂!使用 GPT-4o 快速实现LLM OS

使用 GPT-4o 快速实现LLM OS 什么是 LLM OS&#xff1f;LLM OS 主要有以下5个部分组成&#xff1a; LLM OS 开源实现运行 LLM OS 开源实现 什么是 LLM OS&#xff1f; 关于 LLM OS 的最初构想源自karpathy 在2023年11月11日发布的一条Twitter 动态&#xff0c;这是 LLM OS 概念…...

杀死那个进程

一、场景 eclipse在启动tomcat时&#xff0c;出现端口被占用的情况。我寻思着“任务管理器”没出现相应程序在跑啊。 1.1问题&#xff1a;端口和进程的关系 端口和进程之间存在着一种关系&#xff0c;端口是一个逻辑概念&#xff0c;它用于标识网络通信中的一个终点&#xff0…...

【vue与iframe通讯】

vue 与 iframe 通讯 发送数据vue 向 iframe 发送数据iframe 向 vue 发送数据接收信息( vue & iframe 通用) 实现相互通讯通讯流程图实现代码vue 页面iframe页面iframe 内部重定向访问地址,更新 vue 路由 访问跨域代码下载 前言&#xff1a;vue嵌套iframe实现步骤 发送数据…...

【Python-openslide】openslide.open_slide()

作用&#xff1a; 打开图片 wsi openslide.open_slide(path)注&#xff1a; path&#xff1a; 图片所在路径&#xff0c;需要具体到图片名称(包含扩展名) 我的实验中采用的是svs格式的图像...

推荐系统学习笔记(三)

swing召回通道 Q&#xff1a;假如重合的用户是一个小圈子&#xff1a;在一个群里&#xff0c;毫无关联的笔记也会被同时交互 solve&#xff1a;降低小圈子权重--------------swing的主要目的------------给用户加权 相似度&#xff1a; a是人工参数&#xff0c;overlap降低小…...

521源码-免费游戏源码下载-闯梦江湖Q萌复古全网通手游服务端H5全攻略

闯梦江湖H5&#xff1a;Q萌复古全网通手游服务端全攻略 一、概述 闯梦江湖H5 是一款结合Q萌画风与复古情怀的全网通H5手游。我们为您提供了最新打包的Windows服务端&#xff0c;并附带了通用视频架设教程和GM网页授权后台工具&#xff0c;让您轻松搭建并管理自己的游戏世界。 …...

【Zotero】【MacOS】Zotero6常用插件总结

因为目前MacOS只支持Zotero6&#xff0c;所以我将网上找到的教程以及自己找到适应Zotero6版本的插件做了个整合 教程地址&#xff1a;Zotero6安装/插件安装教程 插件地址&#xff1a;Zotero6_Plugs...

具有固定宽度的盒子:\makebox, \parbox

makebox \makebox 是 LaTeX 中的一个命令&#xff0c;用于创建一个具有固定宽度的盒子&#xff0c;并在该盒子内放置内容。这个命令可以用于控制文本或对象的位置和对齐。 语法如下&#xff1a; \makebox[<width>][<alignment>]{<content>}其中&#xff1…...

中央网信办等四部门发布《互联网政务应用安全管理规定》

互联网政务应用安全管理规定 &#xff08;2024年2月19日中央网络安全和信息化委员会办公室、中央机构编制委员会办公室、工业和信息化部、公安部制定 2024年5月15日发布&#xff09; 第一章 总则 第一条 为保障互联网政务应用安全&#xff0c;根据《中华人民共和国网络安全法…...

国产性能怪兽——香橙派AI Pro(8T)上手体验报告以及性能评测

目录 1、引言2、性能参数3、开箱体验4、实际使用5、性能比较总结参考文章 1、引言 第一次接触香橙派的开发板&#xff0c;之前使用过Arduino、树莓派3B、树莓派4B&#xff0c;STM32&#xff0c;51单片机&#xff0c;没有想到国产品牌性能一样强劲&#xff0c;使用起来也是很方便…...

适用于 Windows 7/8/10/11 的 6 款最佳免费分区软件

分区软件程序旨在帮助您创建、缩小、删除、扩展、合并或拆分硬盘和其他存储设备的分区。虽然可以在 Windows 中对硬盘进行分区而无需使用其他软件&#xff0c;但您可以执行的活动范围有限。例如&#xff0c;如果没有外部工具&#xff0c;您无法调整分区大小或合并分区。在这篇文…...

蓝桥杯备赛——DP续【python】

一、小明的背包2 试题链接&#xff1a;https://www.lanqiao.cn/problems/1175/learning/ 输入示例 5 20 1 6 2 5 3 8 5 15 3 3 输出示例 120 问题分析 这题是完全背包&#xff0c;每个物品有无数个&#xff0c;所以对于任意dp[i][j]&#xff08;其表示的意思为选到第i个…...

区块链系统开发测试----链码部署开发、系统开发验证

一.检查配置环境 检查虚拟机环境&#xff0c;确保有正在运行的Hyperledger Fabric区块链&#xff0c;并且其中chaincode_basic、credit_chaincode链码可以正常调用 查看chaincode_basic、credit_chaincode链码调用 二.开发征信链码代码 基于现有征信链码&#xff0c;开发征信…...

ResNet 学习

一. 残差块与残差层 简单来说&#xff0c;残差块是构成残差层的基本单元&#xff0c;而残差层则是由多个残差块组成的。在ResNet中&#xff0c;通常会堆叠多个残差层来构建深度模型。 (一).残差块&#xff08;Residual Block&#xff09; 这是ResNet的基本构建单元。一个残差块…...

前端React老项目打包caniuse-lite报错解决思路

1、下载项目&#xff0c;先更新.npmrc文件&#xff1a; registryhttp://registry.npmmirror.com 2、安装依赖&#xff0c;本地启动&#xff0c;运行正常&#xff0c;但直接提交代码线上打包时会报错&#xff1a; “ 未找到相关的合并请求。” 打开日志页面&#xff0c;报错信息…...

【全开源】优校管理系统支持微信小程序+微信公众号+H5

概述 优校管理系统(简称优校管)是基于FastAdmin和ThinkPHP进行开发的中小学信息化管理系统&#xff0c;拥有PC版、UniAPP版(高级授权)。支持微信小程序、H5等多平台&#xff0c;主要用于信息管理、教学管理、素养评价&#xff0c;支持多个学校(标准授权限5个&#xff0c;高级授…...

Python条件分支与循环

大家好&#xff0c;当涉及到编写高效和灵活的程序时&#xff0c;条件分支和循环是 Python 中至关重要的概念。它们允许我们根据不同的条件执行不同的代码块&#xff0c;或者重复执行一组语句。条件分支和循环是测试开发工程师在日常工作中经常使用的工具&#xff0c;无论是编写…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用&#xff1a;作为微服务架构的网关&#xff0c;统一入口&#xff0c;处理所有外部请求。 核心能力&#xff1a; 路由转发&#xff08;基于路径、服务名等&#xff09;过滤器&#xff08;鉴权、限流、日志、Header 处理&#xff09;支持负…...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版​分享

平时用 iPhone 的时候&#xff0c;难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵&#xff0c;或者买了二手 iPhone 却被原来的 iCloud 账号锁住&#xff0c;这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法&#xff0c;用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理&#xff0c;能够自动确定一个阈值&#xff0c;将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

如何应对敏捷转型中的团队阻力

应对敏捷转型中的团队阻力需要明确沟通敏捷转型目的、提升团队参与感、提供充分的培训与支持、逐步推进敏捷实践、建立清晰的奖励和反馈机制。其中&#xff0c;明确沟通敏捷转型目的尤为关键&#xff0c;团队成员只有清晰理解转型背后的原因和利益&#xff0c;才能降低对变化的…...

【C++】纯虚函数类外可以写实现吗?

1. 答案 先说答案&#xff0c;可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...

【Post-process】【VBA】ETABS VBA FrameObj.GetNameList and write to EXCEL

ETABS API实战:导出框架元素数据到Excel 在结构工程师的日常工作中,经常需要从ETABS模型中提取框架元素信息进行后续分析。手动复制粘贴不仅耗时,还容易出错。今天我们来用简单的VBA代码实现自动化导出。 🎯 我们要实现什么? 一键点击,就能将ETABS中所有框架元素的基…...

嵌入式面试常问问题

以下内容面向嵌入式/系统方向的初学者与面试备考者,全面梳理了以下几大板块,并在每个板块末尾列出常见的面试问答思路,帮助你既能夯实基础,又能应对面试挑战。 一、TCP/IP 协议 1.1 TCP/IP 五层模型概述 链路层(Link Layer) 包括网卡驱动、以太网、Wi‑Fi、PPP 等。负责…...