《PHP与MySQL程序设计》第三章 PHP基础

1. PHP标识

Web服务器只向PHP解析器传递带有PHP标识的行,来提高效率。

四种:<?php ?>, <? ?>, <script language="php">...</script>, <% %>

2. 注释

// 单行, /* */ 多行, # 单行

3. 向浏览器输出

print: 1表示输出成功。echo没有返回值所以略快。

<?php

$season ="summertime";

print "<p>I love the $season</p>";

?>

printf格式化输出:

printf("%d bottles cost %.2f", 100, 43.20);

sprintf生成字符串:

$cost = sprint("%.2f", 43.2);

4. 数据类型

布尔:$alive = false, 0, 整数:43, 041, 0x1F

浮点:4.2, 字符串:"test"

数组:

$array[0]=1, $array[1]...,

$state["LA"]=90, $state...

对象:

class Appliance {

private $_power;

function setPower($status) {

$this->_power = $status;

}

}

5. 变量

赋值:

$value1 = "hello";

$value2 =& $value1;

作用域:

局部变量:

$x = 4;

function assignx() {

$x = 0;

print($x); // 0

}

print($x); // 4

函数参数:函数执行结束后就被撤销

全局变量:

$x = 4;

function assignx() {

GLOBAL $x;

$x++; // 5

}

静态变量:递归调用时很有用

function keep_track() {

STATIC $count = 0;

$count++;

}

keep_track();

keep_track();

keep_track(); // $count is 3

超级全局变量:获得当前用户会话、环境变量等信息

foreach($_SERVER as $var => $value) {

echo "$var => $value <br/>";

}

6. 常量

常量是全局的,并且引用前面不需要美元符。

define("PI", 3.141592);

7. 字符串插入

双引号:解释转义符和变量

单引号:按原样输出

heredoc语法:不用引号,而用两个相同标识符来界定字符串。

echo <<<EXCERPT

<p> ... <p/>

EXCERPT;

8. 控制结构

foreach两种结构

普通数组:foreach($array as $var) ...

键和值数组:foreach($array as $key => value) ...

文件包含语句:

include("path/to/filename")

require:不管require语句在哪,指定文件都会载入。即使require放入false的判断中。