第十七课:相关补充
我要给大家说清楚的是,我们课程的目的,首先就是要把大家领入PHP之门,让大家对PHP不再陌生,不再畏惧,让你知道PHP编程到底是怎么一回事,通过一些例子让你对PHP产生兴趣,我想这个目的我们达到了。在整个学习过程中,我特别强调兴趣,动手和自学能力,这是网络学习成功的要素。
我们已经有了初步的PHP知识,已经可以阅读有关的PHP资料了。我们这些PHPer首先要去的第一个网站就是PHP的老家 www.php.net ,这是PHP的官方网站,我们这些PHPer的圣经就是“PHP手册”,上面已经有了我们要的所有答案,我希望你能把它放在案头,随时查阅,上面的解释就是最终的答案。
在学习的过程中,为让大家顺利入门,我们也省略了一些更细节的东西,现在来补充这些知识,相信你也会很容易接受和愿意接受。
1。数组
(1)如果连续的为数组赋值,可以不指定数组下标,其值会添加在该数组变量的后续元素中,键名则取当前最大的整数索引值加一。如果指定的键名已经有了值,则该值会被覆盖。
$name[] = '北京'; // $name[0] = '北京';
$name[] = '上海'; // $name[1] = '上海';
$name[] = '天津'; // $name[2] = '天津';
$name[5] = '武汉'; // $name[5] = '武汉';
$name[] = '西安'; // $name[6] = '西安';
(2)多维数组
数组中的元素是自由的,可以是字符串,数字,甚至是数组。如果它的元素是数组,则该数组就是一个多维数组。














如果键名是字符串,要使用引号。
如: echo $word['name']; //输出“北京”
如果是双引号里的数组,键名不能用引号,因为PHP已经将它作为字符串处理,你再加上引号就会出错。
如: echo "我们的首都是 $word[name]"; //数组变量处于双引号中,name不能用引号
如果你使用了花括号{},花括号里的部分会独立于双引号之外处理。
如: echo "我们的首都是{$word['name']}"; //数组变量处于花括号内,此时name要加上引号。
2。注释
程序中添加注释能让程序很好的被阅读和理解,在PHP中加入注释方式是很灵活的。
echo '这是单行注释方式'; //单行注释就用这种方法
echo '这是多行注释方式';
/*
多行注释
就用
这种方法
*/
echo '这是第三种注释方式'; # 这是使用 UNIX Shell 语法注释
3。PHP代码嵌入HTML的几种方法
(1):<?php ... ?>
(2):<? ... ?>
(3):<% ... %>
(4):<script language="php"> ... </script>
4。引用符号(&)




















5。活动变量









6。预定常量和关键词
PHP 向它运行的任何脚本提供了大量的预定义常量。不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。下面列出几个可能你现在就想用到的常量。
PHP_VERSION :当前使用的PHP的版本号。
PHP_OS :当前使用的系统。
__FILE__ :文件的完整路径和文件名。如果用在包含文件中,则返回包含文件名。自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径,而在此之前的版本有时会包含一个相对路径。
__LINE__ :文件中的当前行号。







TRUE :真
FALSE :假,数字0,空白字符串和字符串 "0",没有成员变量的数组,没有单元的对象,和特殊类型 NULL(包括尚未设定的变量),当转换为 boolean 时,以下值被认为是 FALSE,其它值都被认为是 TRUE(包括任何资源)。











and | or | xor | __FILE__ | exception (PHP 5) |
__LINE__ | array() | as | break | case |
class | const | continue | declare | default |
die() | do | echo() | else | elseif |
empty() | enddeclare | endfor | endforeach | endif |
endswitch | endwhile | eval() | exit() | extends |
for | foreach | function | global | if |
include() | include_once() | isset() | list() | new |
print() | require() | require_once() | return() | static |
switch | unset() | use | var | while |
__FUNCTION__ | __CLASS__ | __METHOD__ | final (PHP 5) | php_user_filter (PHP 5) |
interface (PHP 5) | implements (PHP 5) | extends | public (PHP 5) | private (PHP 5) |
protected (PHP 5) | abstract (PHP 5) | clone (PHP 5) | try (PHP 5) | catch (PHP 5) |
throw (PHP 5) | cfunction (PHP 4 only) | old_function (PHP 4 only) | this (PHP 5 only) |
7。预定义变量
PHP 提供了大量的预定义变量。由于许多变量依赖于运行的服务器的版本和设置,及其它因素,所以并没有详细的说明文档。一些预定义变量在 PHP 以命令行形式运行时并不生效。
从 PHP 4.1.0 开始,PHP 提供了一套附加的预定数组,这些数组变量包含了来自 web 服务器(如果可用),运行环境,和用户输入的数据。这些数组非常特别,它们在全局范围内自动生效,例如,在任何范围内自动生效。因此通常被称为自动全局变量(autoglobals)或者超全局变量(superglobals)。(PHP 中没有用户自定义超全局变量的机制。)超全局变量罗列于下文中;
下面的这些超全局变量,你在编程中是会经常用到的,我们学习用过了$_GET和$_POST,你还记得怎么用它们吗?其它的我们也将会学习到。
PHP 超全局变量
$GLOBALS
包含一个引用指向每个当前脚本的全局范围内有效的变量。该数组的键名为全局变量的名称。从 PHP 3 开始存在 $GLOBALS 数组。
$_SERVER
变量由 web 服务器设定或者直接与当前脚本的执行环境相关联。类似于旧数组 $HTTP_SERVER_VARS 数组(依然有效,但反对使用)。
$_GET
经由 URL 请求提交至脚本的变量。类似于旧数组 $HTTP_GET_VARS 数组(依然有效,但反对使用)。
$_POST
经由 HTTP POST 方法提交至脚本的变量。类似于旧数组 $HTTP_POST_VARS 数组(依然有效,但反对使用)。
$_COOKIE
经由 HTTP Cookies 方法提交至脚本的变量。类似于旧数组 $HTTP_COOKIE_VARS 数组(依然有效,但反对使用)。
$_FILES
经由 HTTP POST 文件上传而提交至脚本的变量。类似于旧数组 $HTTP_POST_FILES 数组(依然有效,但反对使用)。详细信息请参阅 POST 方法上传。
$_ENV
执行环境提交至脚本的变量。类似于旧数组 $HTTP_ENV_VARS 数组(依然有效,但反对使用)。
$_REQUEST
经由 GET,POST 和 COOKIE 机制提交至脚本的变量,因此该数组并不值得信任。所有包含在该数组中的变量的存在与否以及变量的顺序均按照 php.ini 中的 variables_order 配置指示来定义。此数组在 PHP 4.1.0 之前没有直接对应的版本。
$_SESSION
当前注册给脚本会话的变量。
好了,补充这些就是为我们下一步学习做好准备。下一步我们将学习PHP中最丰富最强大最令人兴奋的部分-- 函数。