我们日常生活中,有些人使用普通话交流,有些人使用家乡话。类比到计算机的世界里,PHP 是人与计算机沟通的语言之一。

既然是语言,那就必须遵循一定的语法规则。譬如 A 向 B 表白,A 会对 B 说:“我爱你”。这句简短而粗暴的话中,主语是「我」,谓语是「爱」,宾语是「你」。

如果没有主谓宾的语法,显然,我们可以这样子组合:

  • 我你爱
  • 你爱我
  • ……

好了不扯淡了,明白「语法」是我们今天讲的重点。我们先看一段代码:给定一个圆的半径,计算出该圆的面积。

<?php

/* 圆周率 */
const PI = 3.14; // 半径
$R = 10; // 显示面积
echo '面积为:', 2 * PI * $R; ?>

上节课已经搭建了开发环境,现在我要你打开 Sublime Text 3,不要复制粘贴,一个字符一个字符敲,保存在 ·D:\xampp\htdocs\test.php· 里,并在浏览器打开 http://127.0.0.1/test.php

再往下,我当做你已经完成上面的操作。现在我一行一行解释:

a. <?php?> 表示 PHP 代码的开始和结束;

b. 空白行 是比较随意的,可以根据逻辑,用空行将代码分块;

c. /* ... */ 这个语句是注释语句,当程序复杂的时候,可以多写注释,这样阅读程序就轻松多了;

d. // 这个也表示代码注释,与上面不同的是它是单行的,而 /* ... */ 是有开始和结束标记的;

e. const XXX = YYY; 这是定义常量的语法。表示代码中的 XXX 标记,它的值是 YY,注意,末尾的英文分号必不可少;

f. $R = 10; $R 表示变量 R 的值,设置为 10,不同与上面 e. 的常量,这里定义的是变量; 常量不可变,变量可变,$R 你可以改成20,100等;

g. echo 表示程序的输出,这里将返回程序的运行结果;

h. '面积为:' 由英文单引号 / 双引号包含起来的,我们称为字符串;

i. echo 语句在你话还没说完的时候,可以加英文逗号 , 把话继续说下去;

g. 2 * PI * $R 这里的 * 是数学乘法的意思,通过 i. 我们可以知道,这个程序将会输出 面积为:62.8。

程序就是这么简单,每一句都拆出来讲,多写就记住了。当然,PHP 本身的语法规则还蛮多的,具体的用法可以参考 W3S 的 PHP 教程

阿里云大学也有个课程挺不错,建议初学者可以看看:https://edu.aliyun.com/course/509/lesson/list


天道酬勤,厚积薄发。

人不可能一步登天,戒骄戒躁。

多思考多动手,嗯,多动手。


二、PHP基本语法 - PHP零基础快速入门的更多相关文章

  1. [易学易懂系列|rustlang语言|零基础|快速入门|(21)|智能指针]

    [易学易懂系列|rustlang语言|零基础|快速入门|(21)|智能指针] 实用知识 智能指针 我们今天来讲讲Rust中的智能指针. 什么是指针? 在Rust,指针(普通指针),就是保存内存地址的值 ...

  2. 零基础快速入门SpringBoot2.0 (一)

    零基础快速入门SpringBoot2.0 (一) 一.SpringBoot2.x依赖环境和版本新特性说明 简介:讲解新版本依赖环境和springboot2新特性概述 1.依赖版本jdk8以上, Spr ...

  3. [易学易懂系列|rustlang语言|零基础|快速入门|(22)|宏Macro]

    [易学易懂系列|rustlang语言|零基础|快速入门|(22)|宏Macro] 实用知识 宏Macro 我们今天来讲讲Rust中强大的宏Macro. Rust的宏macro是实现元编程的强大工具. ...

  4. 序言 - PHP零基础快速入门

    我为什么要写<PHP零基础快速入门>? 原因: PHP 真心简单,适合零基础的人快速入门掌握,身边的人学习一两周上手开发的比比皆是: 市面上的文章或书籍对初学者并不友好,多半枯燥乏味,我相 ...

  5. 零基础快速入门web学习路线(含视频教程)

    下面小编专门为广大web学习爱好者汇总了一条完整的自学线路:零基础快速入门web学习路线(含视频教程)(绝对纯干货)适合初学者的最新WEB前端学习路线汇总! 在当下来说web前端开发工程师可谓是高福利 ...

  6. 小D课堂 - 零基础入门SpringBoot2.X到实战_第1节零基础快速入门SpringBoot2.0_1、SpringBoot2.x课程介绍和高手系列知识点

    1 ======================1.零基础快速入门SpringBoot2.0 5节课 =========================== 1.SpringBoot2.x课程全套介绍 ...

  7. [易学易懂系列|rustlang语言|零基础|快速入门|(28)|实战5:实现BTC价格转换工具]

    [易学易懂系列|rustlang语言|零基础|快速入门|(28)|实战5:实现BTC价格转换工具] 项目实战 实战5:实现BTC价格转换工具 今天我们来开发一个简单的BTC实时价格转换工具. 我们首先 ...

  8. [易学易懂系列|rustlang语言|零基础|快速入门|(27)|实战4:从零实现BTC区块链]

    [易学易懂系列|rustlang语言|零基础|快速入门|(27)|实战4:从零实现BTC区块链] 项目实战 实战4:从零实现BTC区块链 我们今天来开发我们的BTC区块链系统. 简单来说,从数据结构的 ...

  9. [易学易懂系列|rustlang语言|零基础|快速入门|(26)|实战3:Http服务器(多线程版本)]

    [易学易懂系列|rustlang语言|零基础|快速入门|(26)|实战3:Http服务器(多线程版本)] 项目实战 实战3:Http服务器 我们今天来进一步开发我们的Http服务器,用多线程实现. 我 ...

随机推荐

  1. javascript权威指南笔记[1-5]

    1.javaScript的数据类型分为两类:原始类型和对象类型: 2.javaScript中除了数字,字符串,布尔值,null,undefined之外就是对象了: 3.对象(object)是属性(pr ...

  2. javascript 实现数据结构 - 栈

    栈是一种遵从后进先出(LIFO)原则的有序集合.新添加的或待删除的元素都保存在栈的同一端,称作栈顶,另一端就叫栈底.在栈里,新元素都靠近栈顶,旧元素都接近栈底.栈就好像是一个底部密封的盒子,我们往里面 ...

  3. ArrayBlockQueue源码解析

    清明节和朋友去被抖音带火的一个餐厅,下午两点钟取晚上的号,前面已经有十几桌了,四点半餐厅开始正式营业,等轮到我们已经近八点了.餐厅分为几个区域,只有最火的区域(在小船上)需要排号,其他区域基本上是随到 ...

  4. 网络协议 19 - RPC协议综述:远在天边近在眼前

    [前五篇]系列文章传送门: 网络协议 14 - 流媒体协议:要说爱你不容易 网络协议 15 - P2P 协议:小种子大学问 网络协议 16 - DNS 协议:网络世界的地址簿 网络协议 17 - HT ...

  5. 【Java】留下没有基础眼泪的面试题

    前言 只有光头才能变强 本文力求简单讲清每个知识点,希望大家看完能有所收获 一.如何减少线程上下文切换 使用多线程时,不是多线程能提升程序的执行速度,使用多线程是为了更好地利用CPU资源! 程序在执行 ...

  6. 微信公众号开发C#系列-5、用户和用户组管理-支持同步

    1.概述 眼前时下流行的经济有个叫粉丝经济,粉丝带动收益.一个好运营良好的公众号肯定会有一大批的粉丝团,如何挖掘粉丝来产生效益,是微信营销的关键.微信公众号后台本身提供了粉丝(用户)与用户分组的管理, ...

  7. 推荐三个 VSCode 摸鱼插件

    周三是一周中最难以度过的一天,离上个周末过去了两天,离下个周末也还有两天.为了让各位更好地搬(mo)砖(yu),今天给大家推荐三款效(mo)率(yu)工(shen)具(qi)! 一.听歌插件 1 功能 ...

  8. Concat

    .net 对List使用Concat newlist=list.Concat(list2).ToList() JS的Concat则不用ToList(),一样要用个值去接 Concat返回是一个新数组, ...

  9. 微信小程序 picker 中range-key的坑

    <picker class='fr' bindchange="onChangeBuild" range-key="{{'num'}}" value=&qu ...

  10. MySQL向数据库表的某字段追加数据

    使用CONCAT()函数 mysql向表中某字段后追加一段字符串(field为字段名): update table_name set field=CONCAT(field,'str',) mysql ...