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

引言

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


基础语法

输出

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

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

基础类型

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

php 复制代码
$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 类似,包括算术运算符、比较运算符、逻辑运算符等。

php 复制代码
$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 多分支结构。

php 复制代码
//分支
$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 复制代码
<?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函数 获得数组长度

php 复制代码
//数值数组
$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>';
}
php 复制代码
关联数组
$scores = array('张三'=>90,'李四'=>80,'王五'=>70);
foreach ($scores as $key => $value) {
    echo $key."的分数是".$value."<br>";
}

函数

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

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

类和对象

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

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

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

成员函数(角色技能)

php 复制代码
//创建角色类
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 编程。

相关推荐
threelab1 小时前
Three.js 物理模拟着色器 | 三维可视化 / AI 提示词
开发语言·前端·javascript·人工智能·3d·着色器
武器大师721 小时前
lv_binding_js 代码解读
开发语言·javascript·ecmascript
不知名的老吴1 小时前
线程的生命周期之线程“插队“
java·开发语言·python
kaikaile19952 小时前
数字全息图处理系统(C# 实现)
开发语言·c#
秋93 小时前
Go语言(Golang)开发工程师全景解析:岗位职责·语言优势与使用场景·各城市薪资·发展前景·高考志愿填报(2026版)
开发语言·golang·高考
huangdong_4 小时前
1688商品图片采集技术解析:登录态处理与SKU图自动分类
开发语言
chase_my_dream4 小时前
C++ + SLAM 高频面试问题整理
开发语言·c++·面试
Cloud_Shy6184 小时前
解读《Effective Python 3rd Edition》:从练气到老魔(第五章 Item 30 - 32)
开发语言·人工智能·笔记·python·学习方法
天佑木枫5 小时前
15天Python入门系列 · 序
开发语言·python
ha_lydms5 小时前
AnalyticDB分区、分布键性能优化
android·大数据·分布式·性能优化·分布式计算·分区·analyticdb