我们日常生活中,有些人使用普通话交流,有些人使用家乡话。类比到计算机的世界里,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. 查看网卡及对应的IP、MAC

    #!/bin/bash# judge OS OS_release=`cat /etc/redhat-release | awk '{print $(NF-1)}'|cut -c 1`# To obta ...

  2. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十五║初探SSR服务端渲染(个人博客二)

    缘起 时间真快,现在已经是这个系列教程的下半部 Vue 第 12 篇了,昨天我也简单思考了下,可能明天再来一篇,Vue 就基本告一段落了,因为什么呢,这里给大家说个题外话,当时写博文的时候,只是想给大 ...

  3. 【Android Studio安装部署系列】三十三、windows系统中通过SourceTree使用git

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 前期准备 选择代码托管服务器:gitlab.github.开源中国等. 注册账号 创建项目 安装git 参考<[Android ...

  4. docker~不使用yml批量部署服务

    回到目录 有时,我们在进行持续集成环境有时,有时yml环境是没有的,它可能只提供了docker工具,而docker-compose这个大家伙可能不被提供,而这样我们如果希望自动化构建解决方案下所有的项 ...

  5. Python:解析PDF文本及表格——pdfminer、tabula、pdfplumber 的用法及对比

    pdf 是个异常坑爹的东西,有很多处理 pdf 的库,但是没有完美的. 一.pdfminer3k pdfminer3k 是 pdfminer 的 python3 版本,主要用于读取 pdf 中的文本. ...

  6. SLAM+语音机器人DIY系列:(三)感知与大脑——6.做一个能走路和对话的机器人

    摘要 在我的想象中机器人首先应该能自由的走来走去,然后应该能流利的与主人对话.朝着这个理想,我准备设计一个能自由行走,并且可以与人语音对话的机器人.实现的关键是让机器人能通过传感器感知周围环境,并通过 ...

  7. 三种方法为QLineEdit添加清除内容按钮

    很多时候我们会发现输入的一长串内容不得不全部删除重新输入,这时比起一直按着退格键不放一个清除内容按钮更受欢迎. 今天我将介绍三种为QLineEdit添加清除内容按钮的方法,其中两种方法有较强的功能针对 ...

  8. 一个tomcat设置多个端口,多个端口对应多个应用

    修改tomcat/conf目录里面server.xml文件 例如下面这样新增一个8090端口,设置下appBase目录,这样就可以用一个tomcat监听多个端口,每个端口都可以放应用了.我这样新增下面 ...

  9. 包(package)以及面向对象三个基本特征(继承)的介绍

    1.包(package) 包(package) 用于管理程序中的类,主要用于解决类的同名问题.包也可以看成一个目录. 包的作用 [1] 防止命名冲突. [2] 允许类组成一个单元(模块),便于管理和维 ...

  10. Uncaught ReferenceError: jQuery is not defined

    页面调试时,明明引入了JQ文件,却一直提示Uncaught ReferenceError: jQuery is not defined错误. 转自:http://blog.csdn.net/baicp ...