PHP 快速入门:构建动态网站的基础

引言

PHP,全称 Hypertext Preprocessor,是一种广泛用于创建动态网站的服务器端脚本语言。它易于学习,功能强大,能够与多种数据库系统(如 MySQL)集成,是 Web 开发者的常用工具之一。本文将带你快速了解 PHP 的基本概念和用法。


基础语法

输出

PHP 中没有专门的输入语句,但可以通过多种方式接收用户输入,如表单、URL 参数等。输出则主要通过 echo 和 print 函数实现。

<?php
header("content-type:text/html;charset=utf-8");
echo 'hello world','<br>'; // echo 可输出多个字符串
print('hello'.'world'); // print 只能输出一个字符串
?>

基础类型

PHP 支持多种数据类型,包括字符串、整型、浮点型、布尔型等。var_dump 函数可用于输出变量的类型和值。

$str = 'hello world';
var_dump($str); // 输出:string(11) "hello world"$num1 = 123;
var_dump($num1); // 输出:int(123)$pi=3.14;
var_dump($pi);
echo $pi;//结果:float(3.14) 3.14$bool=true;
$bool1=1>2;
var_dump($bool);
var_dump($bool1);
echo $bool,$bool1;//结果:bool(true) bool(false) 1

运算符

PHP 的运算符与 JavaScript 类似,包括算术运算符、比较运算符、逻辑运算符等。

$a=10;
$b=3;
echo "a+b=".$a+$b."<br>";//13
echo "a-b=".$a-$b."<br>";//7
echo "a*b=".$a*$b."<br>";//30
echo "a/b=".$a/$b."<br>";//3.3333333
echo "a%b=".$a%$b."<br>";//1
$a=1;
echo "a++=".$a++."<br>";//1
$a=1;
echo "++a=".++$a."<br>";//2
echo "a--=".$a--."<br>";//2
echo "--a=".--$a."<br>";//0

程序结构

分支结构

PHP 支持常见的 ifelse ifelse 分支结构,以及 switch 多分支结构。

//分支
$age = 18;
if ($age >= 18) {echo "无视风险";exit;//终止程序
} 
if($age>18){die("禁止访问");//终止并且输出
}$year=2016;
if($year%4==0 && $year%100!=0 || $year%400==0){echo "闰年";
}else{echo "平年";
}//多分支
$score = 80;
switch ($score) {case $score >= 90:echo "优秀";break;case $score >= 80:echo "良好";break;case $score >= 70:echo "中等";break;case $score >= 60:echo "及格";break;default:echo "不及格";break;
}

循环结构

PHP 提供了 whiledo-whilefor 循环,以及 foreach 特定于数组的循环。

<?php
$sum = 0;
$i=1;
while($i<=10){$sum = $sum + $i;echo $i.'+';$i++;
}
echo "=$sum";
-----------------------------------------------------------------------------------------
echo '<br>';
$sum = 0;
$i=1;
do{$sum += $i;echo $i.'+';$i++;
}while($i<=10);
echo "=$sum";
-----------------------------------------------------------------------------------------
$sum=0;
echo '<br>';
for($i=1;$i<=10;$i++){$sum += $i;echo $i.'+';
}
echo "=$sum";
?>
//结果:1+2+3+4+5+6+7+8+9+10+=55

复合类型

数组

PHP 的数组是一种强大的复合数据类型,可以存储多个值。数组分为数值数组和关联数组。

count/sizeof函数 获得数组长度

//数值数组
$names = array("张三", "李四", "王五");$names[3] = '图图'; // 增加元素for($tem=0;$tem<sizeof($names);$tem++){echo "names[$tem]",$names[$tem].'<br>';
}foreach($names as$key=>$value){echo "names[$key]",$names[$key].'='.$value.'<br>';
}
关联数组
$scores = array('张三'=>90,'李四'=>80,'王五'=>70);
foreach ($scores as $key => $value) {echo $key."的分数是".$value."<br>";
}

 

函数

PHP 函数用于执行特定任务,可以接受参数并返回值。

function big($arr){$max =$arr[0];for($i=1;$i<count($arr);$i++){if($arr[$i]>$max){$max =$arr[$i];}}return $max;
}echo big(array(1,2,3,4,5,6,7,8,9,10)); // 输出:10

类和对象

类和对象 类:定义事物的抽象特点(如角色类、射手类,射手类为角色类的子类)

对象:类的实例(某个具体的角色)

成员变量(角色属性,如攻击,防御,血量)

成员函数(角色技能)

//创建角色类
class Person{var $name;var $attack;var $defense;var $life;
//构造函数,创建类时自动使用function __construct($name){$this->name=$name;$this->attack=100;$this->defense=50;$this->life=200;}
//方法,技能function da(){echo $this->name,'攻击了一下,打出了',$this->attack,'的伤害';}
//方法,购买装备function buy($equip){$this->attack+=$equip;}
}//创建实例
$wang = new Person('王');
$wang->life = 300;//修改属性
//使用方法da
$wang->da();//使用方法(技能)
$wang->buy(100);
$wang->da();

结语

本文简要介绍了 PHP 的基本概念和用法,包括环境配置、基础语法、程序结构、复合类型、函数以及面向对象编程。PHP 是一种功能强大的服务器端脚本语言,适合于快速开发动态网站。希望本文能帮助你快速入门 PHP 编程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/47915.shtml

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

相关文章

单机、集群、分布式服务器比较:

1. 单机服务器的瓶颈&#xff1a; 单机服务器&#xff1a;一台服务器独立运行一个工程所需的全部的业务模块 受限于服务器硬件资源&#xff0c;所承受用户并发量受限&#xff0c;32位linux操作系统最大并发量为两万任一模块的变动和修改&#xff0c;都会导致整个项目代码重新编…

轮播图变成响应式数据

文章目录 &#x1f412;个人主页&#xff1a;信计2102罗铠威&#x1f3c5;Vue项目常用组件模板仓库&#x1f4d6;前言&#xff1a; &#x1f412;个人主页&#xff1a;信计2102罗铠威 &#x1f3c5;Vue项目常用组件模板仓库 &#x1f4d6;前言&#xff1a; 本篇博客主要记录轮…

Android 14 适配之 - 隐式/显示 Intent 和 广播适配

隐式 Intent 对隐式Intent 限制: 对 Android 14(API 级别 34)或更高版本为目标平台的应用,Android 会限制应用向内部应用组件发送隐式 intent: 1. 即隐式 intent 只能发送给导出的组件。在应用必须使用显式 intent 来发送组件,且被发送的组件是未被导出的属性配置。 …

解决ElasticJob项目重启ZooKeeper注册冲突以及zkCli删除目录

解决ElasticJob项目重启ZooKeeper注册冲突以及zkCli删除目录 背景 在现代化的分布式调度系统中&#xff0c;ElasticJob 是一个非常流行的选择。它利用 ZooKeeper 作为注册中心来管理任务分片。然而&#xff0c;有时在项目重启时&#xff0c;会遇到 ZooKeeper 注册冲突的问题&…

Elasticsearch 使用terms对long类型日期统计按月销售

索引mapping&#xff1a; {"properties" : {"_class" : {"type" : "text","fields" : {"keyword" : {"type" : "keyword","ignore_above" : 256}}},"createDate" : {&q…

PHP上门按摩专业版防东郊到家系统源码小程序

&#x1f486;‍♀️【尊享级体验】上门按摩专业版&#xff0c;告别东郊到家&#xff0c;解锁全新放松秘籍&#xff01;&#x1f3e0;✨ &#x1f525;【开篇安利&#xff0c;告别传统束缚】&#x1f525; 亲们&#xff0c;是不是厌倦了忙碌生活中的疲惫感&#xff1f;想要享…

从微软发iPhone,聊聊企业设备管理

今天讲个上周的旧闻&#xff0c;微软给员工免费发iPhone。其实上周就有很多朋友私信问我&#xff0c;在知乎上邀请我回答相关话题&#xff0c;今天就抽点时间和大家一起聊聊这事。我不想讨论太多新闻本身&#xff0c;而是更想聊聊事件的主要原因——微软企业设备管理&#xff0…

Azure MySQL资源优化策略

针对Azure MySQL资源的优化策略&#xff0c;可以从多个方面入手&#xff0c;以提升数据库的性能、稳定性和成本效益。以下是一些关键的优化策略&#xff1a; 1. 选择合适的服务器类型 灵活服务器与单一服务器&#xff1a;Azure Database for MySQL 提供灵活服务器和单一服务…

利用AI与数据分析优化招聘决策

一、引言 在竞争激烈的职场环境中&#xff0c;招聘是组织获取人才、实现战略目标的关键环节。然而&#xff0c;传统的招聘方式往往依赖人力资源部门的主观经验和直觉&#xff0c;难以准确预测招聘效果&#xff0c;评估招聘渠道的效率。随着人工智能&#xff08;AI&#xff09;…

CSPVD 智慧工地安全帽安全背心检测开发包

CSPVD SDK适用于为各种智慧工地应用增加安全防护穿戴合规的检测能力&#xff0c;能够有效检测未戴安全帽和未穿 安全背心的人员&#xff0c;提供Web API和原生API。官方下载&#xff1a;CSPVD工地安全防护检测 1、目录组织 CSPVD开发包的目录组织说明如下&#xff1a; xlpr_…

axios(ajax请求库)

json-server(搭建http服务) json-server用来快速搭建模拟的REST API的工具包 使用json-server 下载&#xff1a;npm install -g json-server创建数据库json文件&#xff1a;db.json开启服务&#xff1a;json-srver --watch db.json axios的基本使用 <!doctype html>…

linux进程——状态——linux与一般操作系统的状态

前言&#xff1a;博主在之前的文章已经讲解了PCB里面的pid——主要讲解了父子进程PID&#xff0c; 以及fork的相关内容。 本节进入PCB的下一个成员——状态&#xff0c; 状态是用来表示一个进程在内存中的状态的&#xff0c; 进程在内存中肯能处于各种状态&#xff0c; 比如运行…

DP 203 学习笔记

考试内容总览 Learning Objects: 工具 Designing and implementing data storage 1. Storage Azure Synapse Analytics Azure Databricks Azure Data Lake Storage Gen2(ADLS2&#xff0c;可代替Hadoop Distributed File System也就是HDFS) 2. Shard Partition data store …

云原生系列 - Jenkins

Jenkins Jenkins&#xff0c;原名 Hudson&#xff0c;2011 年改为现在的名字。它是一个开源的实现持续集成的软件工具。 官方网站&#xff08;英文&#xff09;&#xff1a;https://www.jenkins.io/ 官方网站&#xff08;中文&#xff09;&#xff1a;https://www.jenkins.io…

【Linux】汇总TCP网络连接状态命令

输入命令&#xff1a; netstat -na | awk /^tcp/ {S[$NF]} END {for(a in S) print a, S[a]} 显示&#xff1a; 让我们逐步解析这个命令&#xff1a; netstat -na: netstat 是一个用于显示网络连接、路由表、接口统计等信息的命令。 -n 选项表示输出地址和端口以数字格式显示…

贝锐蒲公英远程运维方案:即装即用、无需专线,断网也可远程维护

目前&#xff0c;公路、隧道、桥梁、航道&#xff0c;甚至是施工现场和工业生产环境等&#xff0c;都采用了实时监测方案。 通过部署各类传感器和摄像头等设备&#xff0c;现场视频画面和控制单元&#xff08;如PLC、工控机等&#xff09;数据可以实时回传&#xff0c;用于集中…

AI批量剪辑,批量发布大模型矩阵系统搭建开发

目录 前言 一、AI矩阵系统功能 二、AI批量剪辑可以解决什么问题&#xff1f; 总结&#xff1a; 前言 基于ai生成或剪辑视频的原理&#xff0c;利用ai将原视频进行混剪&#xff0c;生成新的视频素材。ai会将剪辑好的视频加上标题&#xff0c;批量发布到各个自媒体账号上。这…

Android车载MCU控制音量和ARM控制音量的区别和优缺点—TEF6686 FM/AM芯片

不要嫌前进的慢&#xff0c;只要一直在前进就好 文章目录 前言一、系统架构图1.MCU控制音量的架构图&#xff08;老方法&#xff09;2.ARM控制音量的架构图&#xff08;新方法&#xff09; 二、为啥控制音量不是用AudioManager而是执着去直接控制TDA7729&#xff1f;三、MCU控制…

云计算的发展历程与边缘计算

云计算的发展历程 初期发展&#xff08;1960s-1990s&#xff09; 概念萌芽&#xff1a;云计算的概念可以追溯到1960年代&#xff0c;当时约翰麦卡锡&#xff08;John McCarthy&#xff09;提出了“计算将来可能成为一种公共设施”的想法。这个概念类似于现代的云计算&#xf…

基于JAVA+SpringBoot+Vue+uniApp的校园日常作品商品分享小程序

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、SpringCloud、Layui、Echarts图表、Nodejs、爬…