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

PHP 基础介绍


PHP 学习资料

PHP 学习资料

PHP 学习资料


PHP 是一种广泛使用的开源服务器端脚本语言,尤其适合 Web 开发,能轻松嵌入 HTML 中,生成动态网页内容。接下来,让我们一起了解 PHP 的基础内容。

一、PHP 的安装与配置

在开始编写 PHP 代码之前,需要搭建一个 PHP 开发环境,具体步骤如下:

(一)下载 PHP

访问 PHP 官方网站(https://www.php.net/downloads.php ),根据你的操作系统选择合适的版本进行下载。例如,Windows 系统可选择 Windows installer 版本,Linux 系统则可选择适合的源码包或二进制包。

(二)解压与安装

Windows 系统:下载完成后,将压缩包解压到指定目录,如C:\php。解压后,找到php.exe文件,将其移动到你希望使用的 PHP 执行路径下,比如C:\php\bin 。

Linux 系统:如果下载的是源码包,需先解压,然后进入解压目录,执行一系列配置、编译和安装命令,如./configure、make、make install等 。如果是二进制包,解压到指定目录即可。

(三)配置环境变量

Windows 系统:按下快捷键Win+R,输入control sysdm.cpl,EnvironmentVariables并点击 “确定”。在弹出的系统属性窗口中,找到 “系统变量” 部分,双击 “Path” 变量进行编辑,将 PHP 的安装路径(例如C:\php\bin)添加到 “变量值” 中,已有其他路径则用分号隔开。

Linux 系统:编辑~/.bashrc或/etc/profile文件,在文件末尾添加export PATH=$PATH:/path/to/php ,其中/path/to/php为 PHP 的安装路径,保存文件后执行source ~/.bashrc或source /etc/profile使配置生效。

(四)修改 php.ini 文件

在 PHP 安装目录下找到php.ini文件,该文件是 PHP 的核心配置文件。如果没有找到,可以复制php.ini-development或php.ini-production文件并重命名为php.ini。

根据需要修改一些配置项,如将display_errors设置为On,以便在开发过程中能够看到错误信息;启用扩展时,去掉相应扩展前的分号,如;extension=mysqli改为extension=mysqli 。

(五)测试 PHP 环境

在 Web 服务器的文档根目录下(如 Windows 系统的C:\inetpub\wwwroot,Linux 系统的/var/www/html)创建一个名为test.php的文件,内容如下:

<?php
phpinfo();
?>

打开浏览器,输入网址http://localhost/test.php(如果你的 Web 服务器配置了其他域名或端口,需相应修改),如果看到 PHP 信息页面,则表示 PHP 环境已成功搭建。

二、基本语法

PHP 代码标识:PHP 代码通常嵌入在 HTML 文件中,用<?php和?>标签包裹起来。例如:

<!DOCTYPE html>
<html>
<head><title>PHP示例</title>
</head>
<body><?phpecho "这是一段PHP代码";?>
</body>
</html>

语句结束符:每个 PHP 语句都以分号;结束,表示一条语句的结束。例如:

$name = "张三";
echo $name;

注释:PHP 支持两种注释方式,单行注释使用//,多行注释使用/* */。例如:

// 这是单行注释
/*
这是
多行注释
*/

三、变量

变量声明:在 PHP 中,变量以$符号开头,后面跟着变量名。变量名必须以字母或下划线开头,后面可以跟字母、数字或下划线。例如:

$age = 20;
$username = "李四";

变量赋值:可以使用=运算符为变量赋值。PHP 支持多种数据类型的赋值,如字符串、整数、浮点数、布尔值等。例如:

$num = 10; // 整数
$price = 9.99; // 浮点数
$isStudent = true; // 布尔值
$message = "欢迎来到PHP世界"; // 字符串

变量作用域:PHP 变量有三种作用域,分别是局部作用域、全局作用域和静态作用域。在函数内部定义的变量具有局部作用域,只在函数内部有效;在函数外部定义的变量具有全局作用域,在整个脚本中都有效;使用static关键字定义的变量具有静态作用域,在函数调用之间保持其值。例如:

$globalVar = "全局变量"; // 全局变量
function test() {$localVar = "局部变量"; // 局部变量static $staticVar = 0; // 静态变量$staticVar++;echo $localVar. "<br>";echo $staticVar. "<br>";
}
test();
test();
echo $globalVar;

四、数据类型

PHP 支持多种数据类型,主要包括:

字符串(String):表示一个字符序列,可以用单引号或双引号括起来。例如:

$str1 = 'Hello, World!';
$str2 = "你好,PHP";

整数(Integer):表示整数,支持十进制、八进制和十六进制表示。例如:

$int1 = 10; // 十进制
$int2 = 012; // 八进制,相当于十进制的10
$int3 = 0xA; // 十六进制,相当于十进制的10

浮点数(Float):表示带小数点的数字。例如:

$float1 = 3.14;
$float2 = 1.23e5; // 科学计数法,相当于123000

布尔值(Boolean):表示真(true)或假(false)。例如:

$isTrue = true;
$isFalse = false;

数组(Array):用于存储多个值的集合。可以使用索引数组或关联数组。例如:

// 索引数组
$fruits = array("苹果", "香蕉", "橘子");
// 关联数组
$person = array("name" => "王五", "age" => 25, "city" => "北京");

对象(Object):表示一个类的实例。需要先定义类,然后通过new关键字创建对象。例如:

class Person {public $name;public $age;public function __construct($name, $age) {$this->name = $name;$this->age = $age;}public function sayHello() {echo "大家好,我是". $this->name. ",今年". $this->age. "岁。";}
}
$p = new Person("赵六", 30);
$p->sayHello();

NULL:表示没有值或空值。例如:

$var = NULL;

通过以上对 PHP 安装与配置、基本语法、变量和数据类型的介绍,相信你已经对 PHP 基础有了初步的了解。接下来,可以通过更多的实践和学习,深入掌握 PHP 的强大功能,开发出优秀的 Web 应用程序。

相关文章:

PHP 基础介绍

PHP 学习资料 PHP 学习资料 PHP 学习资料 PHP 是一种广泛使用的开源服务器端脚本语言&#xff0c;尤其适合 Web 开发&#xff0c;能轻松嵌入 HTML 中&#xff0c;生成动态网页内容。接下来&#xff0c;让我们一起了解 PHP 的基础内容。 一、PHP 的安装与配置 在开始编写 PH…...

DeepSeek如何重塑我的编程学习:计算机新生的AI实践

目录 &#x1f680;前言&#x1f31f;邂逅DeepSeek&#xff1a;从困惑到惊喜&#x1f4af;初学编程的困境&#x1f4af;DeepSeek的优势 &#x1f58a;️DeepSeek在编程学习中的运用&#x1f4af;注释&#x1f4af;算法逐步分析&#x1f4af;调试帮助&#x1f4af;跨语言迁移学习…...

spring boot和spring cloud的关系

Spring Boot和Spring Cloud之间的关系可以概括为构建和扩展的关系&#xff0c;其中Spring Boot提供了基础&#xff0c;而Spring Cloud在此基础上提供了分布式系统和微服务架构所需的扩展和工具。以下是两者关系的详细阐述&#xff1a; 一、基础与扩展 Spring Boot&#xff1a…...

ThreadLocal原理和存在问题

ThreadLocal 的工作原理 ThreadLocal 是 Java 提供的一个类&#xff0c;用于在多线程环境下存储线程局部变量。每个线程都可以独立地更改存储在其 ThreadLocal 变量中的值&#xff0c;而不会影响其他线程中的变量副本。ThreadLocal 的实现原理基于 Thread 类中的 ThreadLocal.…...

用Echarts的柱状图实现圆柱体效果

用Echarts的柱状图实现圆柱体效果 在数据可视化的世界里&#xff0c;Echarts凭借其强大的功能和丰富的特性&#xff0c;成为众多开发者的首选工具。本文将深入探讨如何利用Echarts的柱状图来实现独特的圆柱体效果&#xff0c;通过详细剖析代码&#xff0c;让大家了解其中的实现…...

Docker 常用命令基础详解(一)

一、Docker 初相识 在当今数字化时代&#xff0c;软件开发和部署的效率与灵活性成为了关键因素。Docker&#xff0c;作为一款开源的应用容器引擎&#xff0c;犹如一颗璀璨的明星&#xff0c;照亮了软件开发与部署的道路&#xff0c;为开发者们带来了前所未有的便利。它就像是一…...

Java并发中的CAS机制:原理、应用与挑战(通俗易懂版)

上一期文章内容&#xff1a;Java并发中的乐观锁与悲观锁&#xff0c; 本期文章我们来讲一下Java并发中的CAS机制 一、从银行账户案例理解CAS CAS 是一种乐观锁机制&#xff0c;用于在不使用锁的情况下实现多线程对共享资源的并发访问。 它包含三个操作数&#xff1a;内存位置&a…...

腾讯发布混元-3D 2.0: 首个开源高质3D-DiT生成大模型

在之前的文章中已经和大家介绍过腾讯HunYuan-3D 1.0&#xff0c;感兴趣的小伙伴可以点击下面链接阅读~ HunYuan-3D 是首个开源高质3D-DiT生成大模型&#xff0c;几何与纹理解藕生成&#xff0c;一键将创意具象化。 2.0模型架构图及介绍 2.0模型将几何和纹理生成解耦&#xff0…...

【机器学习】线性回归与一元线性回归

线性回归与一元线性回归 V1.1线性回归问题线性方程的最优解一元线性回归一元线性回归的方程一元线性回归距离衡量方法一元线性回归的最优化求解一元线性回归的最小二乘法解法 V1.1 线性回归问题 线性回归问题就是找一条线或超平面&#xff0c;并使用线或超平面来描述数据分布…...

哈希表-两个数的交集

代码随想录-刷题笔记 349. 两个数组的交集 - 力扣&#xff08;LeetCode&#xff09; 内容: 集合的使用 , 重复的数剔除掉&#xff0c;剩下的即为交集&#xff0c;最后加入数组即可。 class Solution {public int[] intersection(int[] nums1, int[] nums2) {Set<Integer…...

望远镜成像系统--科学评价光学镜头

望远镜是一种利用透镜或反射镜以及其他光学器件观测遥远物体的光学仪器。其原理是通过透镜的折射或反射镜的反射&#xff0c;将光线聚焦成像&#xff0c;再经过一个放大目镜进行观察。日常生活中的光学望远镜又称“天文望远镜”。1608年&#xff0c;荷兰的一位眼镜商汉斯利伯希…...

服务器延迟给视频网站造成的影响

在数字化时代中&#xff0c;网络视频已经成为人们日常娱乐和获取信息的重要平台&#xff0c;网络视频的流畅性会影响着用户的体验度&#xff0c;那么&#xff0c;当服务器出现延迟会对视频网站造成哪些影响呢&#xff1f;本文就来共同了解一下吧&#xff01; 当所使用的服务器由…...

C++算法竞赛基础语法-9

快速排序是一种高效的排序算法&#xff0c;由C. A. R. Hoare在1960年提出&#xff0c;基本思想是分治法&#xff08;Divide and Conquer&#xff09;策略&#xff0c;通过递归将一个大问题分解为若干个较小的子问题&#xff0c;然后合并这些子问题的解来解决原始问题 快速排序…...

国产编辑器EverEdit - 极简追梦人的福音:迷你查找

1 迷你查找 1.1 应用场景 某些场景下&#xff0c;用户不希望调出复杂的查找对话框&#xff0c;此时可以使用迷你查找窗口。 1.2 使用方法 选择主菜单查找 -> 迷你查找&#xff0c;或使用快捷键Ctrl Alt F&#xff0c;会在右上角弹出迷你查找窗口&#xff0c;如下图所示…...

Flutter 异步编程利器:Future 与 Stream 深度解析

目录 一、Future&#xff1a;处理单次异步操作 1. 概念解读 2. 使用场景 3. 基本用法 3.1 创建 Future 3.2 使用 then 消费 Future 3.3 特性 二、Stream&#xff1a;处理连续异步事件流 1. 概念解读 2. 使用场景 3. 基本用法 3.1 创建 Stream 3.2 监听 Stream 3.…...

数据结构 day05

数据结构 day05 5. 队列5.3. 链式队列5.3.1. 特征5.3.2. 代码实现 6. 双向链表6.1. 特性6.2. 代码实现 5. 队列 5.3. 链式队列 5.3.1. 特征 逻辑结构&#xff1a;线性结构 存储结构&#xff1a;链式存储 操作&#xff1a;创建、入列、出列、判空、清空 5.3.2. 代码实现 头文…...

股票数据接口API实例代码python、JAVA等多种语言演示免费获取实时数据、历史数据、CDMA、KDJ等指标数据配有API说明文档

​ 本文中所有接口均可直接在浏览器打开获取数据&#xff0c;为了便于大家验证有效性&#xff0c;已经做好了超链接&#xff0c;直接点击即可&#xff01; 沪深两市股票列表 API接口链接&#xff08;可点击验证&#xff09;&#xff1a;https://api.mairui.club/hslt/list/b…...

【Map vs Set】:Java数据存储的“双子星”对决

个人主页&#xff1a;♡喜欢做梦 欢迎 &#x1f44d;点赞 ➕关注 ❤️收藏 &#x1f4ac;评论 目录 &#x1f370;一、搜索 &#x1f36e;1.概念 &#x1f36e;2.模型 &#x1f370;二、Map &#x1f368;1.什么是Map&#xff1f; &#x1f368;2.Map的实例化 &…...

ollama+langchain+deepseek本机跑通大模型

一、部署deepseek Ollama&#xff0c;这是是一个开源的大语言模型平台&#xff0c;它允许用户在本地环境中运行、创建和共享大型语言模型。Ollama提供了丰富的功能和特性&#xff0c;使得用户可以在自己的计算机上轻松地部署和运行大型语言模型。官网&#xff1a;https://ollam…...

03【FreeRTO队列-如何获取任务信息与队列的动静态创建】

一.利用 vTaskList()以及 vTaskGetRunTimeStats()来获取任务的信息 1.现象与开启启用宏 freeRTOSConfig.h //必须启用 #define configUSE_TRACE_FACILITY 1 #define configGENERATE_RUN_TIME_STATS 1 #define configUSE_STATS_FORMATTING_FUNCTIONS…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)

CSI-2 协议详细解析 (一&#xff09; 1. CSI-2层定义&#xff08;CSI-2 Layer Definitions&#xff09; 分层结构 &#xff1a;CSI-2协议分为6层&#xff1a; 物理层&#xff08;PHY Layer&#xff09; &#xff1a; 定义电气特性、时钟机制和传输介质&#xff08;导线&#…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法&#xff1a;原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件&#xff0c;如包含恶意代码、敏感数据或欺诈内容的文档&#xff0c;在企业协同办公环境中&#xff08;如Teams、Google Workspace&#xff09;尤为重要。结合大模型技术&…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

MySQL 知识小结(一)

一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库&#xff0c;分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷&#xff0c;但是文件存放起来数据比较冗余&#xff0c;用二进制能够更好管理咱们M…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机

这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机&#xff0c;因为在使用过程中发现 Airsim 对外部监控相机的描述模糊&#xff0c;而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置&#xff0c;最后在源码示例中找到了&#xff0c;所以感…...

代码规范和架构【立芯理论一】(2025.06.08)

1、代码规范的目标 代码简洁精炼、美观&#xff0c;可持续性好高效率高复用&#xff0c;可移植性好高内聚&#xff0c;低耦合没有冗余规范性&#xff0c;代码有规可循&#xff0c;可以看出自己当时的思考过程特殊排版&#xff0c;特殊语法&#xff0c;特殊指令&#xff0c;必须…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)

题目 做法 启动靶机&#xff0c;点进去 点进去 查看URL&#xff0c;有 ?fileflag.php说明存在文件包含&#xff0c;原理是php://filter 协议 当它与包含函数结合时&#xff0c;php://filter流会被当作php文件执行。 用php://filter加编码&#xff0c;能让PHP把文件内容…...