《简明 PHP 教程》04 基础

只是打印出 hello world 确定是不够的,是吗?你会但愿作得比这还要多——你想要输入一些内容,操纵它,而后从中获得一些输出出来的内容。咱们能够在 PHP 中经过使用变量与常量来实现这一目标,在本章中咱们还会学习其它的一些概念。php

PHP 标记

当解析一个文件时,PHP 会寻找起始和结束标记,也就是 <?php?>,这告诉 PHP 开始和中止解析两者之间的代码。此种解析方式使得 PHP 能够被嵌入到各类不一样的文档中去,而任何起始和结束标记以外的部分都会被 PHP 解析器忽略。程序员

若是文件内容是纯 PHP 代码,最好在文件末尾删除 PHP 结束标记。这能够避免在 PHP 结束标记以后万一意外加入了空格或者换行符,会致使 PHP 开始输出这些空白,而脚本中此时并没有输出的意图。shell

注释

PHP 支持 C,C++ 和 Unix Shell 风格(Perl 风格)的注释。例如:编程

<?php
    echo "This is a test"; // 这是 C++ 风格的单行注释
    /* 这是一个
       多行注释 */
    echo "This is yet another test";
    echo 'One Final Test'; # 这是 shell 风格的单行注释

注释主要用做写给程序读者看的笔记。数组

C 风格的注释在碰到第一个 */ 时结束。要确保不要嵌套 C 风格的注释。试图注释掉一大块代码时很容易出现该错误。编程语言

<?php
 /*
    echo "This is a test"; /* 这个注释将要引发问题 */
 */

你应该在你的程序中尽量多地使用有用的注释:编辑器

  • 解释假设
  • 说明重要的决定
  • 解释重要的细节
  • 说明你想要解决的问题
  • 说明你想要在程序中克服的问题,等等。

代码会告诉你怎么作,注释会告诉你为什么如此。学习

这样作对你的程序的读者来讲很是有用,他们能够很容易地理解你的程序是作什么的。请记住,这我的能够是六个月后的你!优化

常量

常量是一个简单值的标识符(名字)。如同其名称所暗示的,在脚本执行期间该值不能改变。常量默认为大小写敏感。传统上常量标识符老是大写的。this

常量名和其它任何 PHP 标签遵循一样的命名规则。合法的常量名以字母或下划线开始,后面跟着任何字母,数字或下划线。

<?php

// 合法的常量名
define("FOO",     "something");
define("FOO2",    "something else");
define("FOO_BAR", "something more");

// 非法的常量名
define("2FOO",    "something");

// 下面的定义是合法的,但应该避免这样作:(自定义常量不要以__开头)
// 也许未来有一天PHP会定义一个__FOO__的魔术常量
// 这样就会与你的代码相冲突
define("__FOO__", "something");

常量的范围是全局的。不用管做用区域就能够在脚本的任何地方访问常量。

变量

PHP 中的变量用一个美圆符号后面跟变量名来表示。变量名是区分大小写的。

变量名与 PHP 中其它的标签同样遵循相同的规则。一个有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字,或者下划线。

<?php
$var = 'Bob';
$Var = 'Joe';
echo "$var, $Var";      // 输出 "Bob, Joe"

$4site = 'not yet';     // 非法变量名;以数字开头
$_4site = 'not yet';    // 合法变量名;如下划线开头
$i站点is = 'mansikka';  // 合法变量名;能够用中文

变量默认老是传值赋值。那也就是说,当将一个表达式的值赋予一个变量时,整个原始表达式的值被赋值到目标变量。

PHP 也提供了另一种方式给变量赋值:引用赋值。这意味着新的变量简单的引用(换言之,“成为其别名” 或者 “指向”)了原始变量。改动新的变量将影响到原始变量,反之亦然。

使用引用赋值,简单地将一个 & 符号加到将要赋值的变量前(源变量)。例如,下列代码片段将输出“My name is Bob”两次:

<?php
$foo = 'Bob';              // 将 'Bob' 赋给 $foo
$bar = &$foo;              // 经过 $bar 引用 $foo
$bar = "My name is $bar";  // 修改 $bar 变量
echo $bar;
echo $foo;                 // $foo 的值也被修改

有一点重要事项必须指出,那就是只有有名字的变量才能够引用赋值。

类型

PHP 支持 9 种原始数据类型。

四种标量类型:

  • boolean(布尔型)
  • integer(整型)
  • float(浮点型,也称做 double)
  • string(字符串)

三种复合类型:

  • array(数组)
  • object(对象)
  • callable(可调用)

两种特殊类型:

  • resource(资源)
  • NULL(无类型)

Boolean 布尔类型

这是最简单的类型。boolean 表达了真值,能够为 TRUE 或 FALSE。

要指定一个布尔值,使用常量 TRUE 或 FALSE。两个都不区分大小写。

<?php
$foo = True; // 设置 $foo 为 TRUE

Integer 整型

integer 是集合 ℤ = {..., -2, -1, 0, 1, 2, ...} 中的某个数。

整型值可使用十进制,十六进制,八进制或二进制表示,前面能够加上可选的符号(- 或者 +)。

<?php
$a = 1234; // 十进制数
$a = -123; // 负数
$a = 0123; // 八进制数 (等于十进制 83)
$a = 0x1A; // 十六进制数 (等于十进制 26)
$a = 0b11111111; // 二进制数字 (等于十进制 255)

Float 浮点型

浮点型(也叫浮点数 float,双精度数 double 或实数 real)能够用如下任一语法定义:

<?php
$a = 1.234; 
$b = 1.2e3; 
$c = 7E-10;

String 字符串

一个字符串 string 就是由一系列的字符组成,其中每一个字符等同于一个字节。

单引号

定义一个字符串的最简单的方法是用单引号把它包围起来(字符 ')。

<?php
echo 'this is a simple string';

双引号

若是字符串是包围在双引号(")中, PHP 将对一些特殊的字符进行解析,如 \n 换行,\t 水平制表符等。另外最重要的特征是变量会被解析。

Heredoc 结构

第三种表达字符串的方法是用 heredoc 句法结构:<<<

<?php
$str = <<<EOD
Example of string
spanning multiple lines
using heredoc syntax.
EOD;

Array 数组

PHP 中的数组其实是一个有序映射。映射是一种把 values 关联到 keys 的类型。此类型在不少方面作了优化,所以能够把它当成真正的数组,或列表(向量),散列表(是映射的一种实现),字典,集合,栈,队列以及更多可能性。

<?php
$array = array(
    "foo" => "bar",
    "bar" => "foo",
);

// 自 PHP 5.4 起
$array = [
    "foo" => "bar",
    "bar" => "foo",
];

key 能够是 integer 或者 string。value 能够是任意类型。能够不指定键名,或者对某些单元指定键名。

数组单元能够经过 array[key] 语法来访问。

<?php
$array = array(
    "foo" => "bar",
    42    => 24,
    "multi" => array(
         "dimensional" => array(
             "array" => "foo"
         )
    )
);

var_dump($array["foo"]);
var_dump($array[42]);
var_dump($array["multi"]["dimensional"]["array"]);

Object 对象

要建立一个新的对象 object,使用 new 语句实例化一个类:

<?php
class foo
{
    function do_foo()
    {
        echo "Doing foo."; 
    }
}

$bar = new foo;
$bar->do_foo();

接下来咱们将看见如何使用变量与常量。你须要保存如下案例并尝试运行程序。

如何编写 PHP 程序

从今之后,保存和运行 PHP 程序的标准步骤以下:

对于 PhpStorm 用户

  1. 打开 PhpStorm。
  2. 以给定的文件名建立新文件。
  3. 输入案例中给出的代码。
  4. 右键并运行当前文件。

对于其余编辑器用户

  1. 打开你选择的编辑器。
  2. 输入案例中给出的代码。
  3. 以给定的文件名将其保存成文件。
  4. 在解释器中经过命令 php program.php 来运行程序。

案例:使用变量与常量

输入并运行如下程序:

<?php
# 文件名:var.py
$i = 5;
echo $i . "\n";
$i = $i + 1;
print $i . "\n";

$s = <<<EOT
This is a multi-line string.
This is the second line.
EOT;
print $s;

输出:

5
6
This is a multi-line string.
This is the second line.

它是如何工做的

下面是这一程序的工做原理。首先,咱们使用赋值运算符(=)将常量数值 5 赋值给变量 $i。这一行被称之为声明语句(Statement)由于其工做正是声明一些在这一状况下应当完成的事情:咱们将变量名 $i 与值 5 相链接。而后,咱们经过 echo 语句来打印变量 $i 所声明的内容,这并不奇怪,只是将变量的值打印到屏幕上。这里咱们同时打印了 \n 是为了换行。

接着,咱们将 1 加到 $i 变量所存储的值中,并将得出的结果从新存储进这一变量。而后咱们将这一变量打印出来,并指望获得的值应为 6

相似地,咱们将文本赋值给变量 $s,并将其打印出来。

针对静态编程语言程序员的提示

变量只需被赋予某一值。不须要声明或定义数据类型。

逻辑行与物理行

所谓物理行(Physical Line)是你在编写程序时你所看到的内容。所谓逻辑行(Logical Line)是 PHP 所看到 的单个语句。PHP 以 ; 做为不一样逻辑行的结束与分隔。

PHP 鼓励每一行使用一句独立语句从而使得代码更加可读。

若是你有一行很是长的代码,你能够经过使用反斜杠将其拆分红多个物理行。

$s = 'This is a string. \
This continues the string.';
echo $s;

输出:

This is a string. This continues the string.

缩进

空白区在各行的开头,这被称做缩进(Indentation)。在逻辑行的开头留下空白区(使用空格或制表符)用以肯定各逻辑行的缩进级别,然后者又可用于肯定语句的分组。

这意味着放置在一块儿的语句拥有相同的缩进。每一组这样的语句被称为块(block)

如何缩进

使用四个空格来缩进。好的编辑器会自动为你完成这一工做。请确保你在缩进中使用数量一致的空格。

总结

如今咱们已经了解了诸多本质性的细节,咱们能够前去了解控制流语句等更多更加有趣的东西。记得必定要充分理解你在本章所阅读的内容。

连接:https://blog.zhanxiaobai.com/...

相关文章
相关标签/搜索