第十七课:相关补充

第十七课:相关补充



  我要给大家说清楚的是,我们课程的目的,首先就是要把大家领入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)多维数组


数组中的元素是自由的,可以是字符串,数字,甚至是数组。如果它的元素是数组,则该数组就是一个多维数组。
<? php
 
$word   =   array ( ' name ' => ' 北京 ' ,   ' a ' => array ( ' any ' , ' as ' , ' and ' ) ,   ' b ' => array ( ' buy ' , ' boy ' , ' bit ' ) );
 
echo   $word [ ' name ' ];   // 输出“北京”
echo   $word [ ' a ' ][ 0 ];   // 输出“any”
echo   $word [ ' a ' ][ 1 ];   // 输出“as”
echo   $word [ ' a ' ][ 2 ];   // 输出“and”
echo   $word [ ' b ' ][ 0 ];   // 输出“buy”
echo   $word [ ' b ' ][ 1 ];   // 输出“boy”
echo   $word [ ' b ' ][ 2 ];   // 输出“bit”
 
?>
(3)键名使用引号的问题

  如果键名是字符串,要使用引号。
    如: 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。引用符号(&)
<? php
 
$a   =   ' 北京 ' ;
$b   =   $a
$b   =   ' 上海 ' ;
 
echo   $a , $b ;   // 输出“北京上海”
 
?>
上面的例子中,因为$b只是$a的一个拷贝,$b有自己单独的内存空间,任何对$b的操作都不会影响到$a。
<? php
 
$a   =   ' 北京 ' ;
$b   =   & $a
$b   =   ' 上海 ' ;
 
echo   $a , $b ;   // 输出“上海上海”
 
?>
上面的例子中,和前一个例子有什么不一样吗?是的,只是在$a的前面加入了引用符号(&),但结果却完全不同。此时$b不再是$a的一个拷贝,而是$a的别名,两者都指向同一内存空间,任何对$b的操作都会改变$a的值。

5。活动变量
<? php
 
$name   =   ' BeiJing ' ;
$BeiJing   =   ' 北京 ' ;
 
echo  $ $name ;
 
?>
$$name也叫变量的变量,$name的值是BeiJing,所以$$name相当于$BeiJing,而$BeiJing的值是“北京”,所以结果会输出“北京”。

6。预定常量和关键词

PHP 向它运行的任何脚本提供了大量的预定义常量。不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。下面列出几个可能你现在就想用到的常量。

PHP_VERSION :当前使用的PHP的版本号。
PHP_OS :当前使用的系统。
__FILE__ :文件的完整路径和文件名。如果用在包含文件中,则返回包含文件名。自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径,而在此之前的版本有时会包含一个相对路径。  
__LINE__ :文件中的当前行号。
<? php
echo   ' 目前的PHP版本号: ' . PHP_VERSION . ' <BR> ' ;
echo   ' PHP运行的操作系统: ' . PHP_OS . ' <BR> ' ;
echo   ' 当前程序文件的绝对路径: ' . __FILE__ . ' <BR> ' ;
echo   ' 这一行是程序文件的第 ' . __LINE__   . ' ' ;
?>
下面这些词语在 PHP 中有着特殊的意义。它们中有些像是函数,有些像是常量……但是它们不是的,它们只是语言结构的一部分。不能使用它们的任何一个作为常量、方法名或是类名。但是可以将它们作为变量名使用,不过这样会导致混淆。

TRUE :真
FALSE :假,数字0,空白字符串和字符串 "0",没有成员变量的数组,没有单元的对象,和特殊类型 NULL(包括尚未设定的变量),当转换为 boolean 时,以下值被认为是 FALSE,其它值都被认为是 TRUE(包括任何资源)。
 
 
<? php
 
$a = 19 $b = 3 ;
 
if $a % $b   ==   TRUE  )  echo   " {$a}不能被{$b}整除 " ;
 
else   echo    " {$a}能被{$b}整除 " ;
 
?>
表格 : PHP 关键词
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中最丰富最强大最令人兴奋的部分-- 函数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值