简介

1
2
3
4
5
6
7
8
9
10
11
12
13
14
简单实例:
<!DOCTYPE html>
<html>
<body>

<?php
echo "Hello World!";
?>

</body>
</html>
PHP 文件可包含文本、HTML、JavaScript代码和 PHP 代码
PHP 代码在服务器上执行,结果以纯 HTML 形式返回给浏览器
PHP 文件的默认文件扩展名是 .php。

语法

1.0 基本

1
2
3
PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来。

通过 PHP,有两种在浏览器输出文本的基础指令:echo 和 print。

2.0 换行

1
php的换行与c一致,//单行   /*多行*/

3.0 变量

基本

1
2
3
4
5
6
7
8
9
实例:
<?php
$x=5;
$y=6;
$z=$x+$y;
echo $z;
?>
ps:!!!仅仅只要在变量前加上$其余和c一样 输出为echo和print
同时他比c更宽,他会自动把变量转化为正确的数据类型

关键字

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
global 关键字用于函数内访问全局变量。

在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字:
<?php
$x=5;
$y=10;

function myTest()
{
global $x,$y;
$y=$x+$y;
}

myTest();
echo $y; // 输出 15
?>
1
2
3
4
5
6
7
8
9
10
11
12
13
PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。
<?php
$x=5;
$y=10;

function myTest()
{
$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
}

myTest();
echo $y;
?>

static作用域

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Static 作用域
当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除。

要做到这一点,请在您第一次声明变量时使用 static 关键字:
<?php
function myTest()
{
static $x=0;
echo $x;
$x++;
echo PHP_EOL; // 换行符
}

myTest();
myTest();
myTest();
?>

细节

1
<br>为换行,跟\n一样用法

PHP EOF(heredoc) 使用说明

1
2
3
4
5
6
7
8
9
10
11
12
13
PHP EOF(heredoc)是一种在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言(像Perl、PHP、Python和Ruby)里定义一个字符串的方法。



实例
<?php
echo <<<EOF
<h1>我的第一个标题</h1>
<p>我的第一个段落。</p>
EOF;
// 结束需要独立一行且前后不能空格
?>

数据类型

1
2
3
4
5
6
7
8
9
10
11
12
13
14
!!!跟c如出一辙,但是它不需要+int之类的
需要注意的

PHP 数组
数组可以在一个变量中存储多个值。

在以下实例中创建了一个数组, 然后使用 PHP var_dump() 函数返回数组的数据类型和值:

实例
<?php
$cars=array("Volvo","BMW","Toyota");
var_dump($cars);
?>
加小括号即可

类型比较

1
2
3
4
5
PHP 类型比较
虽然 PHP 是弱类型语言,但也需要明白变量类型及它们的意义,因为我们经常需要对 PHP 变量进行比较,包含松散和严格比较。

松散比较:使用两个等号 == 比较,只比较值,不比较类型。
严格比较:用三个等号 === 比较,除了比较值,也比较类型。
1
2
3
4
设置 PHP 常量
设置常量,使用 define() 函数,函数语法如下:

bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )

运算以及语句与c一致,这里不打了

PHP - 数组排序函数

sort() - 对数组进行升序排列
rsort() - 对数组进行降序排列
asort() - 根据关联数组的值,对数组进行升序排列
ksort() - 根据关联数组的键,对数组进行升序排列
arsort() - 根据关联数组的值,对数组进行降序排列
krsort() - 根据关联数组的键,对数组进行降序排列

PHP 超级全局变量

PHP中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用。 你不需要特别说明,就可以在函数及类中使用。

PHP 超级全局变量列表:

1
2
3
4
5
6
7
8
9
$GLOBALS
$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION

PHP 魔术常量

PHP 向它运行的任何脚本提供了大量的预定义常量。

不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。

有八个魔术常量它们的值随着它们在代码中的位置改变而改变。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
__LINE__ 自动打出行数
__FILE__ 自动打出文件名
__DIR__ 文件所在目录
__FUNCTION__ 返回该函数被定义时的名字 (区分大小写)
__CLASS__ 返回该类被定义时的名字 区分大小写
******
Trait 的名字(PHP 5.4.0 新加)。自 PHP 5.4.0 起,PHP 实现了代码复用的一个方法,称为 traits。

Trait 名包括其被声明的作用区域(例如 Foo\Bar)。

从基类继承的成员被插入的 SayWorld Trait 中的 MyHelloWorld 方法所覆盖。其行为 MyHelloWorld 类中定义的方法一致。优先顺序是当前类中的方法会覆盖 trait 方法,而 trait 方法又覆盖了基类中的方法
******
__METHOD__返回该方法被定义时的名字(区分大小写)。
__NAMESPACE__当前命名空间的名称(区分大小写