当前位置: 首页 > 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…...

多模态情感识别系统:完整实现与代码详解

多模态情感识别系统:完整实现与代码详解 目录 系统概述 系统架构设计 环境配置与依赖安装 文本情感分析模块 语音情绪识别模块 人脸表情识别模块 多模态融合模块 实时Web交互界面 完整项目代码汇总 运行与使用指南 总结与展望 一、系统概述 多模态情感识别是当前人机交互领域…...

Deep Agent全解析:为什么普通Agent只能“浅尝辄止”,而Deep Agent能真正干复杂活?

一、先说结论&#xff1a;Deep Agent到底是什么&#xff1f;Deep Agent&#xff0c;直译叫“深度智能体”&#xff0c;你可以把它理解成&#xff1a;不是只会调用一个工具、回答一个问题的普通Agent&#xff0c;而是能围绕一个复杂目标&#xff0c;自己拆任务、查资料、调用工具…...

SpriteDicing:基于纹理分块去重的游戏美术资源优化方案

1. 项目概述与核心价值在游戏开发&#xff0c;尤其是2D游戏和视觉小说这类美术资源密集型的项目中&#xff0c;美术资源的管理和优化是贯穿始终的挑战。我们常常会遇到一个令人头疼的问题&#xff1a;角色立绘、场景背景或UI元素中存在大量重复的纹理区域。比如&#xff0c;一个…...

USB 2.0高速连接方案在移动设备中的应用与优化

1. 移动设备USB 2.0高速连接方案概述在2005年的移动设备开发领域&#xff0c;实现高速数据传输一直是个技术难点。当时主流的PXA27x处理器虽然性能强劲&#xff0c;但其内置的USB接口仅支持全速&#xff08;Full-Speed&#xff09;12Mbps传输速率。本文介绍的NET2272控制器方案…...

通用人工智能系统(GPAIS)架构、挑战与可信治理实践

1. 通用人工智能系统&#xff08;GPAIS&#xff09;究竟是什么&#xff1f;如果你关注AI领域&#xff0c;最近一定频繁听到“通用人工智能系统”&#xff08;General-Purpose AI Systems, GPAIS&#xff09;这个词。它听起来像是科幻电影里那种无所不能的AI&#xff0c;但现实中…...

OBS虚拟摄像头插件:4个虚拟摄像头同时工作的终极指南

OBS虚拟摄像头插件&#xff1a;4个虚拟摄像头同时工作的终极指南 【免费下载链接】obs-virtual-cam 项目地址: https://gitcode.com/gh_mirrors/obsv/obs-virtual-cam 还在为OBS直播画面只能分享到一个应用而烦恼吗&#xff1f;今天我要介绍的obs-virtual-cam插件&…...

CANN/ops-math 3D反射填充算子

aclnnReflectionPad3d 【免费下载链接】ops-math 本项目是CANN提供的数学类基础计算算子库&#xff0c;实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-math &#x1f4c4; 查看源码 产品支持情况 产品是否支持Ascend 950PR/Ascend 950DT√Atlas …...

Animal-AI环境:用AI复现动物认知实验的虚拟实验室

1. 项目概述&#xff1a;当AI遇见动物智能最近几年&#xff0c;AI领域最激动人心的进展之一&#xff0c;就是智能体&#xff08;Agent&#xff09;在复杂环境中的决策与学习能力。从AlphaGo到AlphaStar&#xff0c;再到各种游戏AI&#xff0c;我们见证了算法在特定规则下的卓越…...

CANN驱动带外通道状态查询

dcmi_get_device_outband_channel_state 【免费下载链接】driver 本项目是CANN提供的驱动模块&#xff0c;实现基础驱动和资源管理及调度等功能&#xff0c;使能昇腾芯片。 项目地址: https://gitcode.com/cann/driver 函数原型 int dcmi_get_device_outband_channel_s…...

耐高温 RFID 标签:机柜高温环境下的智能管理核心

在数据中心、电力基站、工业控制车间等场景中&#xff0c;机柜作为服务器、交换机、电力设备、精密仪器的核心载体&#xff0c;长期处于高温、金属干扰、粉尘油污的复杂环境。传统纸质标签易烧毁、条码标签不耐高温且抗干扰性差、普通 RFID 标签遇高温失效、金属表面信号衰减&a…...