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

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…...

避雷,Ubuntu通过ollama本地化部署deepseek,open-webui前端显示

0.如题&#xff0c;预期在Ubuntu上本地化部署DeepSeek&#xff0c;通过浏览器访问达到chatgpt的对话效果。 1.裸机&#xff0c;安装Ubuntu。 原有的系统盘采用大白菜&#xff0c;下载24.04.1的镜像&#xff0c;插到电脑上&#xff0c;无法识别&#xff0c;重新查到笔记本&…...

package.json 文件配置

创建 Node.js 的配置文件 package.json npm init -y package.json 文件配置说明 配置说明示例name指定项目的名称&#xff0c;必须是小写字母&#xff0c;可以包含字母、数字、连字符&#xff08;-&#xff09;或下划线&#xff08;_&#xff09;&#xff0c;不能有特殊字符…...

Managed Lustre 和 WEKA:高性能文件系统的对比与应用

Managed Lustre 和 WEKA&#xff1a;高性能文件系统的对比与应用 1. 什么是 Managed Lustre&#xff1f;主要特点&#xff1a;适用场景&#xff1a; 2. 什么是 WEKA&#xff1f;主要特点&#xff1a;适用场景&#xff1a; 3. Managed Lustre 和 WEKA 的对比4. 如何选择 Managed…...

【matlab】大小键盘对应的Kbname

matlab中可以通过Kbname来识别键盘上的键。在写范式的时候&#xff0c;遇到一个问题&#xff0c;我想用大键盘上排成一行的数字按键评分&#xff0c;比如 Kbname(1) 表示键盘上的数字1&#xff0c;但是这种写法只能识别小键盘上的数字&#xff0c;无法达到我的目的&#xff0c;…...

Python实现从SMS-Activate平台,自动获取手机号和验证码(进阶版2.0)

前言 本文是该专栏的第52篇,后面会持续分享python的各种干货知识,值得关注。 在本专栏之前,笔者在文章《Python实现SMS-Activate接口调用,获取手机号和验证码》中,有详细介绍基于SMS-Activate平台,通过python来实现自动获取目标国家的手机号以及对应的手机号验证码。 而…...

HCIA项目实践--静态路由的拓展配置

7.7 静态路由的拓展配置 网络中的两个重要思想&#xff1a; &#xff08;1&#xff09; 实的不行来虚的&#xff1b; &#xff08;2&#xff09; 范围太大&#xff0c;划分范围。&#xff08;分治&#xff09; 7.7.1 负载均衡 &#xff08;1&#xff09;定义 负载均衡是一种网…...

缓存三大问题及其解决方案

缓存三大问题及其解决方案 1. 前言 ​ 在现代系统架构中&#xff0c;缓存与数据库的结合使用是一种经典的设计模式。为了确保缓存中的数据与数据库中的数据保持一致&#xff0c;通常会给缓存数据设置一个过期时间。当系统接收到用户请求时&#xff0c;首先会访问缓存。如果缓…...

Unity崩溃后信息结合符号表来查看问题

目录 SO文件符号表对调试和分析的重要性调试方面分析方面 错误数据安装Logcat解释符号表设置符号文件路径生成解析 相关参考 SO文件 so 文件&#xff08;Shared Object File&#xff0c;共享目标文件&#xff09;和符号表紧密相关&#xff0c;它们在程序的运行、调试和分析过程…...

C#的DataTable类精简汇总

目录 一、DataTable概述 1.创建 DataTable 2.添加行 3.修改行 4.删除行 5.查询行 6.排序行 7.合并 DataTable 8.克隆 DataTable 9.复制 DataTable 10.使用 DataView 过滤和排序 11.使用 DataTable 的事件 12.使用 DataTable 的约束 13.使用 DataTable 的表达式列 …...

DeepSeek官方发布R1模型推荐设置

今年以来&#xff0c;DeepSeek便在AI领域独占鳌头&#xff0c;热度一骑绝尘。其官方App更是创造了惊人纪录&#xff0c;成为史上最快突破3000万日活的应用&#xff0c;这一成绩无疑彰显了它在大众中的超高人气与强大吸引力。一时间&#xff0c;各大AI及云服务厂商纷纷投身其中&…...

STM32 ADC介绍(硬件原理篇)

目录 背景 AD转换器 采样与保持 量化 编码 AD转换器转换原理 DA转换原理 AD转换原理 1.逐次逼近型AD转换器 2.并联比较型AD转换器 编码器 同步D触发器和边沿D触发器 基本RS触发器 同步RS触发器 同步D触发器 边沿型D触发器&#xff08;维持-阻塞D触发器&#xff…...

pytest测试专题 - 1.2 如何获得美观的测试报告

<< 返回目录 1 pytest测试专题 - 1.2 如何获得美观的测试报告 1.1 背景 虽然pytest命令的报文很详细&#xff0c;用例在执行调试时还算比较方便阅读和提取失败信息&#xff0c; 但对于大量测试用例运行时&#xff0c;可能会存在以下不足 报文被冲掉测试日志没法归档 …...

Bash 中的运算方式

目录 概述&#xff1a; 1. (()) 运算符 2. let 命令 3. expr 命令 4. $[] 直接运算 5. bc&#xff08;计算器&#xff0c;支持浮点数&#xff09; 6. awk&#xff08;强大的文本处理工具&#xff0c;也可计算&#xff09; 概述&#xff1a; Bash 本身只支持整数运算&am…...

linux 板子的wifi模块连上路由器后,用udhcpc给板子wifi分配ip,udhcpc获取到ip,但没有写入wlan0网卡上

linux 板子的wifi模块连上路由器后&#xff0c;用udhcpc给板子wifi分配ip&#xff0c;udhcpc获取到ip,但没有写入wlan0网卡上 这里的问题是 /usr/share/udhcpc/default.script脚本有问题 用下面正确脚本&#xff0c;即可写进去 #!/bin/sh# udhcpc script for busybox # Copyr…...

超纯水设备的智能化控制系统为用户带来安全简便的操作体验

随着信息技术的发展&#xff0c;智能化已经成为工业装备的重要发展方向之一。超纯水设备在这方面也走在了前列&#xff0c;配备了高性能的PLC控制系统及人机交互界面&#xff0c;实现了全方位的智能监控和自动化操作。本文将重点介绍该设备的智能化控制系统&#xff0c;探讨它如…...

性格测评小程序03搭建用户管理

目录 1 创建数据源2 搭建后台3 开通权限4 搭建启用禁用功能最终效果总结 性格测评小程序我们期望是用户先进行注册&#xff0c;注册之后使用测评功能。这样方便留存用户的联系信息&#xff0c;日后还可以推送对应的相关活动促进应用的活跃。实现这个功能我们要先创建数据源&…...

Linux-C/C++《七、字符串处理》(字符串输入/输出、C 库中提供的字符串处理函数、正则表达式等)

字符串处理在几乎所有的编程语言中都是一个绕不开的话题&#xff0c;在一些高级语言当中&#xff0c;对字符串的处理支 持度更是完善&#xff0c;譬如 C、 C# 、 Python 等。若在 C 语言中想要对字符串进行相关的处理&#xff0c;譬如将两个字符串进行拼接、字符串查找、两个…...

如何使用CSS画一个三角形,原理是什么?

如何用 CSS 画一个三角形&#xff1f;原理和实战指南 一、核心原理 CSS 画三角形的本质是利用边框&#xff08;border&#xff09;的叠加特性。当一个元素的宽高为 0 时&#xff0c;其边框会以对角线形式相交&#xff0c;形成四个独立的三角形区域。通过控制某一边的边框颜色为…...

调用DeepSeek API接口:实现智能数据挖掘与分析

在当今数据驱动的时代&#xff0c;企业和开发者越来越依赖高效的数据挖掘与分析工具来获取有价值的洞察。DeepSeek作为一款先进的智能数据挖掘平台&#xff0c;提供了强大的API接口&#xff0c;帮助用户轻松集成其功能到自己的应用中。本文将详细介绍如何调用DeepSeek API接口&…...

iOS主要知识点梳理回顾-5-运行时方法交换

方法交换可以放在 load 或 initialize 方法中&#xff0c;也可以自己根据时机来空&#xff0c;比如开启某个开关后才需要交换方法。如果是在load中调用&#xff0c;交换工作会在类加载时&#xff08;程序启动&#xff09;自动调用&#xff1b;如果是在initialize中调用&#xf…...

基于若依开发的工程项目管系统开源免费,用于工程项目投标、进度及成本管理的OA 办公开源系统,非常出色!

一、简介 今天给大家推荐一个基于 RuoYi-Flowable-Plus 框架二次开发的开源工程项目管理系统&#xff0c;专为工程项目的投标管理、项目进度控制、成本管理以及 OA 办公需求设计。 该项目结合了 Spring Boot、Mybatis、Vue 和 ElementUI 等技术栈&#xff0c;提供了丰富的功能…...

uni-app 学习(一)

一、环境搭建和运行 &#xff08;一&#xff09;创建项目 直接进行创建 &#xff08;二&#xff09;项目结构理解 pages 是页面 静态资源 打包文件&#xff0c;看我们想输出成什么格式 app.vue 页面的入口文件 main.js 是项目的入口文件 存放对打包文件的配置 pages 存放整…...

本地部署DeepSeek + AnythingLLM 搭建高效安全的个人知识库

环境准备: 本地部署方案请参考博客:windows平台本地部署DeepSeek大模型+Open WebUI网页界面(可以离线使用)-CSDN博客 windows平台本地部署DeepSeek大模型+Chatbox界面(可以离线使用)-CSDN博客 根据本人电脑配置:windows11 + i9-13900HX+RTX4060+DDR5 5600 32G内存 确…...

【git-hub项目:YOLOs-CPP】本地实现03:跑自己的实例分割模型

本节博客,我们继续讲解,如何在cpu+windows上,跑通自己的实例分割模型。 目录 模型 类别名称 量化 导出模型 拉取最新代码 进入官网ultralytics 模型 该项目包括存储在 models 和 quantized_models 目录中的各种预训练标准 YOLO 模型: 模型类型模型名称标准模型yolo5…...

【Qt】QObject类的主要功能

在 Qt 中&#xff0c;QObject 类是所有 Qt 对象的基类&#xff0c;提供了许多基础功能&#xff0c;使得 Qt 的对象系统能够有效地工作。它为其他类提供了核心的机制&#xff0c;比如信号和槽机制、对象树结构、内存管理等。 QObject 类的主要功能&#xff1a; 信号和槽机制&am…...

OpenEuler学习笔记(三十):在OpenEuler上搭建3D建模环境

在OpenEuler上搭建3D建模环境&#xff0c;通常可以选择一些常见的3D建模软件&#xff0c;如Blender、FreeCAD等。以下以搭建Blender和FreeCAD这两款软件的使用环境为例&#xff0c;为你详细介绍搭建步骤。 搭建Blender 3D建模环境 1. 更新系统软件包 首先&#xff0c;确保系…...

nsc account 及user管理

从安全角度&#xff0c;推荐使用sign 模式进行nats account及用户管理 把权限放到account level 用户密码泄露可以通过快速更换用户可以设置过期日期&#xff0c;进行安全轮换 此外通过nsc 管理用户和权限&#xff0c;可以统一实现全局管控&#xff0c;包括subject管控&#…...

把 DeepSeek1.5b 部署在显卡小于4G的电脑上

这里写自定义目录标题 介绍准备安装 Ollama查看CUDA需要版本安装CudaToolkit检查Cuda是否装好设置Ollama环境变量验证是否跑在GPU上ollama如何导入本地下载的模型安装及配置docker安装open-webui启动open-webui开始对话 调整gpu精度 介绍 Deepseek1.5b能够运行在只用cpu和gpu内…...

Git子模块实战:大型后台管理系统模块拆分实践

案例背景 某企业级后台管理系统需要拆分为三个核心模块&#xff1a; 权限中心 (auth-center)&#xff1a;负责RBAC权限管理数据可视化 (data-visualization)&#xff1a;包含BI看板模块工作流引擎 (workflow-engine)&#xff1a;审批流程核心组件 每个模块由独立团队开发维护…...