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 编程。

相关推荐
周全全7 分钟前
MySQL报错解决:The user specified as a definer (‘root‘@‘%‘) does not exist
android·数据库·mysql
百事老饼干11 分钟前
Java[面试题]-真实面试
java·开发语言·面试
- 羊羊不超越 -43 分钟前
App渠道来源追踪方案全面分析(iOS/Android/鸿蒙)
android·ios·harmonyos
杨荧1 小时前
【JAVA毕业设计】基于Vue和SpringBoot的服装商城系统学科竞赛管理系统
java·开发语言·vue.js·spring boot·spring cloud·java-ee·kafka
白子寰1 小时前
【C++打怪之路Lv14】- “多态“篇
开发语言·c++
王俊山IT1 小时前
C++学习笔记----10、模块、头文件及各种主题(一)---- 模块(5)
开发语言·c++·笔记·学习
为将者,自当识天晓地。1 小时前
c++多线程
java·开发语言
小政爱学习!1 小时前
封装axios、环境变量、api解耦、解决跨域、全局组件注入
开发语言·前端·javascript
wk灬丨1 小时前
Android Kotlin Flow 冷流 热流
android·kotlin·flow