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.rhkb.cn/news/334509.html

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

相关文章

力扣232. 用栈实现队列(两栈实现队列)

Problem: 232. 用栈实现队列 文章目录 题目描述思路Code 题目描述 思路 利用两个栈&#xff0c;一个入栈一个出栈搭配着实现队列的相关操作&#xff1a; 1.创建两个栈stack1和stack2&#xff1b; 2.void push(int x):将要入队的元素先入栈stack1&#xff1b; 3.int pop()&…

Springboot集成GRPC

Springboot集成GRPC 一、springboot版本二、GRPC的pom依赖2.1 服务端2.2 客户端3.构建依赖 三、配置文件服务端客户端 四、 demo4.1 编写proto文件4.2 生成文件4.3 服务端重写方法4.4 客户端调用该方法 五、测试 一、springboot版本 <groupId>org.springframework.boot&l…

【Linux】Linux的权限_2 + Linux环境基础开发工具_1

文章目录 三、权限3. Linux权限管理修改文件的拥有者和所属组 4. 文件的类型5. 权限掩码 四、Linux环境基础开发工具1. yumyum 工具的使用 未完待续 三、权限 3. Linux权限管理 修改文件的拥有者和所属组 在上一节我们讲到如何更改文件的访问权限&#xff0c;那我们需要更改…

Unity 自定义Web GL 发布模板

前言 使用讯飞语音识别时&#xff0c;发布Web GL 平台后需要在index.html 中添加相应的script 标签&#xff0c;但每次发布完添加比较麻烦&#xff0c;添加一个发布模板就可以不必每次发布完再手动添加修改。 实现 在Assets 文件夹下新建一个文件夹&#xff0c;重命名为WebG…

rocketmq 学习二 基本概念

教程&#xff1a;基本概念 | RocketMQ 视频教程 https://www.bilibili.com/video/BV1d5411y7UW?vd_sourcef1bd3b5218c30adf0a002c8c937e0a27 版本&#xff1a;5.0 一 基本概念 1.1 生产者/Producer 1.1.1 定义 消息发布者。是构建并传输消息到服务端的运行实体。…

module ‘plotting‘ has no attribute ‘EpisodeStats‘

plotting.py 的版本不同&#xff0c;可以使用下列版本 reinforcement-learning/lib/plotting.py at master dennybritz/reinforcement-learning GitHubImplementation of Reinforcement Learning Algorithms. Python, OpenAI Gym, Tensorflow. Exercises and Solutions to a…

go语言,golang,linux,unbantu安装

查看系统是arm还是amd uname -m 命令可以显示系统的架构类型&#xff1a; uname -m输出可能是&#xff1a; x86_64&#xff1a;表示是 AMD64 架构&#xff08;即 64 位的 x86 架构&#xff09;。aarch64&#xff1a;表示是 ARM64 架构&#xff08;即 64 位的 ARM架构&#xf…

WORD、PPT技巧

WORD技巧 编辑设置 word标题导航窗口怎么调出word2016&#xff0c;缩小了页面&#xff0c;可是怎么是竖着的一页一页排列啊&#xff1f;以前不是好几页横排着的么&#xff1f;怎么设置&#xff0c;求救&#xff1a;在Word标题栏那一行找到“视图”&#xff0c;点击“显示比例…

【漏洞复现】用友NC registerServlet JNDI 远程代码执行漏洞(XVE-2024-10248)

0x01 产品简介 用友NC是 用友软件股份有限公司开发的一套企业级管理软件系统。它是一个基于互联网的多层应用系统&#xff0c;旨在为中大型企业提供全面、集成的管理解决方案。是一种商业级的企业资源规划云平台&#xff0c;为企业提供全面的管理解决方案&#xff0c;包括财务…

【InternLM实战营第二期笔记】03:“茴香豆“,搭建你的 RAG 智能助理(未完成)

文章目录 笔记-RAG课程结构为什么要用 RAG&#xff1f;定义工作原理向量数据库RAG 工作流程发展历程常见优化RAG vs 微调LLM 优化方法比较RAG的评价总结 笔记-茴香豆什么是茴香豆茴香豆实战 笔记-RAG 课程结构 为什么要用 RAG&#xff1f; 新增知识&#xff0c;尤其是高频变动…

AI视频换脸!最快的方法,100%成功,完全免费,无需配置、打开即用

这是一款百分百完全免费&#xff0c;超级好用又简单的AI视频换脸工具&#xff0c;不仅效果非常不错而且支持CPU和GPU解码&#xff0c;即使电脑上没有独立显卡&#xff0c;你也可以通过电脑上的CPU要进解码&#xff0c;虽然我之前给他介绍好几个有关AI视频&#xff0c;比如像这个…

FreeRtos进阶——消息队列的操作逻辑

消息队列&#xff08;queue&#xff09; 在不同的任务之间&#xff0c;如果我们需要互相之间通信&#xff0c;使用全局变量进行通信&#xff0c;是一种不安全的通信的方式。为保证线程安全&#xff0c;我们需要引入消息队列的通信方式。 粗暴的消息队列 为保证线程的安全&am…

《TCP/IP网络编程》(第十一章)进程间通信

进程间通信意味着两个不同的进程间可以交换数据&#xff0c;它使得不同的进程能够协同工作&#xff0c;实现复杂的系统功能。 1.通过管道实现进程间通信 下图是基于 管道&#xff08;PIPE&#xff09; 的进程间通信结构模型 管道不属于进程的资源&#xff0c;属于操作系统的资…

多模态中的模态有哪些

“多模态”这个名字中的“模态”&#xff08;modality&#xff09;&#xff0c;指的是不同的数据类型或信息源。在多模态大模型中&#xff0c;常见的模态包括&#xff1a; 文本模态&#xff1a; 包括自然语言文本、语音识别文本等。 图像模态&#xff1a; 指图像数据&#xff…

pip安装软件包提示“没有那个文件或目录”问题的处理

文章目录 一、Python.h&#xff1a;没有那个文件或目录二、lber.h&#xff1a;没有那个文件或目录 一、Python.h&#xff1a;没有那个文件或目录 pip install -I python-ldap3.0.0b1 #异常提示In file included from Modules/LDAPObject.c:3:0:Modules/common.h:9:20: 致命错…

【Linux】权限的理解之权限掩码(umask)

目录 前言 一、利用八进制数值表示文件或目录的权限属性 二、系统默认的权限掩码和权限掩码的作用原理 三、分析权限掩码改变文件或目录的权限属性 前言 权限掩码是由4个数字组合而成的&#xff0c;默认的第一位数字是0&#xff1b;后三位数字分别由八进制位数字组成。权限…

景源畅信:抖音小店新手小白如何做好运营?

在数字时代的浪潮中&#xff0c;抖音小店成为了众多创业者和商家的新宠。但面对激烈的市场竞争和不断变化的平台规则&#xff0c;新手小白如何才能在抖音小店的海洋里稳健航行&#xff0c;捕捉到属于自己的商机呢?接下来的内容将为你揭晓答案。 一、精准定位&#xff0c;明确目…

基于灰狼优化算法优化RBF神经网络(GWO-RBF)的数据时序预测

代码原理及流程 基于灰狼优化算法优化RBF神经网络的数据时序预测代码的原理和流程如下&#xff1a; 1. 数据准备&#xff1a;收集和准备用于时序预测的数据集&#xff0c;包括历史时序数据和对应的目标值。 2. RBF神经网络初始化&#xff1a;初始化RBF神经网络的参数&#x…

后端企业级开发之yaml数据序列化格式文件详解2024

yaml格式 数据格式 yaml 是一种数据序列化的格式 容易阅读 容易与脚本语言交互 以数据为核心 重数据轻格式 我们要知道他怎么书写 大小写敏感 属性层级关系使用多行描述 每行结尾使用冒号结束 使用缩进表示层级关系 同层级左侧对其 只运行使用空格 属性前面添加空格 #表…

安卓开发--安卓使用Echatrs绘制折线图

安卓开发--安卓使用Echatrs绘制折线图 前期资料安卓使用Echarts绘制折线图1.1 下载 Echarts 安卓资源1.2 新建assets文件1.3 新建布局文件1.4 在布局文件中布局WebView1.5 在活动文件中调用 最终效果 前期资料 Echarts 官网样式预览: https://echarts.apache.org/examples/zh/…