<<细说PHP>>读书笔记 -- 第5章 PHP基础(一)
5.2 第一个PHP程序5.2.1 PHP标记
在PHP中可以使用4种不同的开始和结束标记
<?php
?>
标准风格的PHP标记
属于xml风格,通用性较好,也是通常推荐的方式。
<script
language="php">
</script>
长风格的PHP标记
通用性较好,但不太常用。
<?
?>
简短风格的标记
1.
php.ini配置文件中的指令short_open_tag打开后,或PHP编译时加入了--enable-short_tags才可用。
2. 由于某些目标服务器上可能不支持短标记,为了代码的移植和发型,应该确保不要使用短标记
<%
%>
ASP风格的标记
1.
php.ini配置文件中启用了asp_tags选项才可以使用它,默认情况该选项是禁用的。
2. 这仅仅是为了习惯ASP或ASP.NET的编程风格而设计的。由于其一致性也比较差,所以通常也不推荐使用。
5.2.2 语句分隔符“分号“
1. 每条PHP语句后边以分号“;”来标识结束
2. PHP结束标记?>隐含含有一个分号。也就是说在一段PHP代码段的结尾可以省略一个分号
<?php echo "1st Line <br/>" ?>
<?php echo "2nd Line<br/>"; echo "3th Line<br/>" ?>
5.2.3 程序注释
/*
*/
多行注释
//
C++风格的单行注释
#
Unix Shell风格的单行注释
<?php
/*
这是一个多行注释
可以有多行文字
*/
echo "This is a test";
echo "This is yet another test"; //这是一行C++风格的注释
echo "One Final Test" # 这是Unix Shell风格的注释
?>
5.3 变量
变量是用于临时存储数据的容器,这些数据可以是数字、文本、或者复杂的排列组合。
5.3.1 变量的声明
1. PHP不要求在使用变量之前进行声明变量;
2. PHP中的变量是以美元符号“$”作为前缀的标识符号;
3. 变量名不能于任何PHP预定义的关键字相同;
4. 变量的作用域。大部分的PHP变量,如果不是在函数中声明的,只有在声明处到文件结束的一个单独的范围中使用。
4.1. 非函数中声明的变量,他们具有相同的global scope。无论一个非function变量是在哪里声明的,他们都可以从声明处到文件结束处被访问。
4.2. 对于require和include的子文件,可以访问在父文件中,require和include之前定义的非函数变量
4.3. 对于require和include的子文件中定义的非函数变量,父文件可以在require和include之后进行访问
<?php
// 04.php
$hello = 'Hello'; //独立定义的变量
if($hello =='Hello'){
$world = 'World'; //在if语句块中的变量
}
echo $hello . '<br/>';
echo $hello . ' ' . $world . ' in 04.php<br/>';
require_once '05.php'; //$hello , $world 在05.php中均可以访问
echo $hello . ' ' . $php . ' ' . $world . ' in 04.php<br/>';
?>
<?php
// 05.php
echo $hello . ' ' . $world . ' in 05.php<br/>';
$php = 'PHP';
?>
5.3.3. 可变变量
5.3.4. 变量的引用赋值 -- &
给变量赋值的方式有两种,一种是传值赋值;另一种是引用赋值。
1. 传值赋值:当将一个表达式的值赋予一个变量时,整个原始表达式的值被赋予到目标变量。这意味着,例如,当一个变量的值赋予另一个变量时,改变其中一个变量的值,将不会影响到另一个变量。
2. 引用赋值:新的变量简单的引用了原始变量,改变新的变量将影响到原始变量使用引用赋值。以地址的方式传递参数传递以后,行参和实参都是同一个对象,只是他们名字不同而已对行参的修改将影响实参的值
第一个例子:传值,当执行$param2 = $param1的时候,$param1的数据1就会被copy到$param2里面。
<?php
$param1=1; //定义变量1 , $param1中存放了指向1的地址信息
$param2=2; //定义变量2 , $param2中存放了指向2的地址信息
//变量1赋值给变量2 , 将$param1存放的地址所指向的对象复制一个出来,并将新对象的地址赋给$param2
$param2 = $param1;
echo $param2; //显示为1
?>
第二个例子:引用,当执行$param1 = &$param2的时候,$param2也是指向$param1的存储单元.
<?php
$param2=1; //定义变量2 ,$param2中存放了指向1的地址信息
$param1 = &$param2; //将变量2的引用传给变量1 , 将$param2的地址信息复制给$param1
echo $param2; //显示为1
$param1 = 2; //把2赋值给变量1,将$param1的地址所指向的储存单元格的内容变为2
//显示为2 , 由于$param1 和 $param2的地址信息相同,那么当$param1存放的地址所指向的存储单元
//信息发生变化时,也就是$param2存放的地址所指向的存储单元发生变化
echo $param2;
?>
页:
[1]