1 .php标记
常用类型1
<?php
echo "hello world!"
?>
常用类型2
<script language = "php">
echo "hello world";
</script>
不常用类型1(需修改php.ini的配置文件)
<?
echo"hello php";
?>
不常用类型2(需修改php.ini的配置文件)
<% echo "hello php"; %> //asp风格
2 . php注释
1 . 多行注释
/*
注释的内容
*/
2 . 单行注释
//被注释的内容
3 . 文档注释
/※ ※
※被注释的内容
※被注释的内容
※/
3 . 变量的声明
1 . 变量以$开头,后面跟变量名
2 . 变量字母,数字,下划线组成,不能以数字开头
3 . 变量名区分大小写
4 . php与JavaScript类似是弱类型语言,不需要实现声明变量的数据类型.
5 . php可以不显示的声明变量而直接使用
4 . 变量的赋值
1 . 值赋值;即将赋值表达式的值赋值给变量(直接赋值);
2 . 引用赋值:php4引用了引用赋值,创建的一个变量与另一个变量引起的内容相同
例:
$var_1 = "hello";
$var_2 = &$var_1; //把变量var_1的内存地址赋值给var_1,即引用赋值
5 . 变量的变量
$var_1 = "hello";
$$var_1 = "world";
echo $var_1; //hello
echo $hello; //world
echo ${$var_1} //world
// 函数内部修改函数外部变量的值
// 如果需要函数内修改函数外部变量,参数前面需要添加 & 符号,进行取址操作
function test(&$a) {
$a *= 10;
}
$b = 10;
test($b);
echo "<hr>b = " . $b;
6 . 超全局变量
1.php提供了很多有用的预定的变量,用于提供大量与环境相关的信息
2.打印/输出超全局变量:print_r($_SERVER)
(1). $_SEVER服务器变量,该全局变量包含着服务器和客户端配置及当前相关信息;
$_SERVER['REMOTE_ADDR'] #正在浏览当前页面用户的 IP 地址。
$_SERVER['REMOTE_HOST'] #正在浏览当前页面用户的[主机名].
$_SERVER['REQUEST_URI'] #访问此页面所需的 URI。例如,“/index.html”。
$_SERVER['[HTTP_REFERER] #链接到当前页面的前一页面的 URL 地址。
$_SERVER['[HTTP_USER_AGENT] #当前请求的 User-Agent: 头部的内容。
(2). $GET该变量包含使用GET方法传递的参数的有关信息
print_r($GET);
$id = $_GET['id'];
(3). $GET该变量包含使用POST方法传递的参数的有关信息
print_r($_POST);
$id = $_POST['id'];
(4) . $_REQUEST该变量记录着通过各种输入方法传递给脚本的变量,如POST,GET 但速度慢且不安全
(5) . $_COOKIE cookie 变量数组
(6) . $_SESSION 会话变量数组
(7) . $_FILES 与传文件有关的变量数组
(8) . $_ENV 环境变量数组
(9) . $_GLOBALS 所有全局变量
7 . 常量
常量类似变量,但是常量一旦被定义就无法更改或撤销定义。
常量是单个值的标识符(名称)。在脚本中无法改变该值。
有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号)。
注释:与变量不同,常量贯穿整个脚本是自动全局的。
如需设置常量,请使用 define() 函数 - 它使用三个参数:
首个参数定义常量的名称
第二个参数定义常量的值
可选的第三个参数规定常量名是否对大小写敏感。默认是 false。
<?php
define("PI", "3.14");
echo PI;
?>
(1) 内置常量
PHP_OS //php所有操作系统的名称
PHP_VERAION //当前php的版本号
(2) . 魔术常量
LINE | 文件中的当前行号。 |
---|---|
FILE | 文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。自 PHP 4.0.2 起,FILE 总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径),而在此之前的版本有时会包含一个相对路径。 |
DIR | 文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。它等价于 dirname(FILE)。除非是根目录,否则目录中名不包括末尾的斜杠。(PHP 5.3.0中新增) = |
FUNCTION | 函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。 |
CLASS | 类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。类名包括其被声明的作用区域(例如 Foo\Bar)。注意自 PHP 5.4 起 CLASS 对 trait 也起作用。当用在 trait 方法中时,CLASS 是调用 trait 方法的类的名字。 |
TRAIT | Trait 的名字(PHP 5.4.0 新加)。自 PHP 5.4 起此常量返回 trait 被定义时的名字(区分大小写)。Trait 名包括其被声明的作用区域(例如 Foo\Bar)。 |
METHOD | 类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。 |
NAMESPACE | 当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0 新增) |
8.数据类型
一. 标准数据类型
1 . 字符串
字符串有三种定方式:单引号,双引号,定界符(heredoc);
单引号字符串中出现的变量不会被变量的值替代
双引号字符串中最重要的一点是其中的变量会被变量值替代
如果遇到美元符号($),解析器会尽可能多地取得后面的字符以组成一个合法的变量名,
如果想明确的制定名字的结束,用花括号{}把变量名括起来
1.PHP定界符的作用就是按照原样,包括换行格式什么的,输出在其内部的东西;
2.在PHP定界符中的任何特殊字符都不需要转义;3.PHP定界符中的PHP变量会被正常的用其值来替换。
**PHP中的定界符格式是这样的:**
<<<Eof
……
Eof;
报错的原因:
**不仅EOF;前边不能有空格,而且echo<<<EOF后面也不能有空格。**
字符串转义
\n换行
\r回车
\t水平制表符(tab键)
\\ \反斜杠
\$ $美元符
\" "双引号
2 . 整型(integer)
$age = 25
3 . 浮点型(float,double)
$num = 5.34
4 . 布尔型(bool)
$bo = TRUE;
$bo = FALSE;
二,复合数据类型
- 数组
`$week = array('星期1','星期二','星期三');
2 . 对象
$db = new db;
三,特殊数据类型 - 资源
$fh = fopen("text.txt","r");
2.null;
null 无,表示没有值;
没有设置为任何预定义的变量;
明确的赋值为null;
使用函数unset()清除;
四.自动类型转换
PHP 的自动类型转换的一个例子是加号“+”。
如果任何一个操作数是浮点数,则所有的操作数都被当成浮点数,
结果也是浮点数。否则操作数会被解释为整数,结果也是整数。
注意这并没有改变这些操作数本身的类型;
改变的仅是这些操作数如何被求值以及表达式本身的类型。
五,类型相关函数
- gettype()返回变量类型,共有8个可能的值
string, integer,float,boolean,array,object,null,unknow
2 . is_ytpe()查看变量是否是某个类型,是则返回true,否返回false
3 . var_dump() 获取变量的值和类型的详细信息;
函数作用是判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型.