php标记
语法:有4种书写格式
1.<?php ... ?> 强烈推荐使用。
如果当前 php的代码段,是整个文档的最后一段,可以省略结束标记?(建议省略)
每句语句都要以分号;结束。如果这条语句是在php的最后,则可以省略。(前提是:php最后有?>这个结束标记)
2.<script language="php"> ... </script> 容易和javascript标记混淆
3.<? ... ?> php默认不支持, 必须设置php.ini文件中的 short_open_tag = On
4.<% ... %> shell风格,php默认不支持,必须设置php.ini文件中的 asp_tags = On
注释
// 行注释
# 行注释
/* ... */ 块注释
块注释多用与函数注释
例如: /*
* 函数的功能
* @param 参数类型 参数名1 参数解释
* @param 参数类型 参数名2 参数解释
* @return 返回值类型 返回值解释
*/
php常见输出语句
print 简单输出语句,可以输出字符串,变量、表达式等单项的值!(不能输出数组、对象等复杂数据类型)
例如: print ("Hello,World!");
输出结果:Hello,World!
echo 也是简单输出语句,但是一次可以输出多个数据,中间以逗号分隔!
例如: echo "Hello","World!";
输出结果:HelloWorld!
var_dump 在测试代码的时候使用的最多的语句,不仅仅可以输出一个或多个数据项的值,还可以打印出数据项的类型、长度等额外的信息!而且可以输出复杂数据类型!
例如: $arr = array("A"=>10,"B"=>20,"C"=>"abc");
var_dump ($arr);
输出结果:array(3) { ["A"]=> int(10) ["B"]=> int(20) ["C"]=> string(3) "abc" }
print_r 一般就是用来打印数组等复杂数据类型
例如: $arr = array("A"=>10,"B"=>20,"C"=>"abc");
print_r ($arr);
输出结果:Array ( [A] => 10 [B] => 20 [C] => abc )
printf 比较擅长输出由静态文本和其他变量所组成的“混合产物”!该语句一般有两个部分:前半部分是用引号扩起来的字符串,如果字符串里面需要出现变量,就用一个变量占位符来表示,占位符都是以%开头的,不同的占位符表示不同的数据类型!后半部分是变量列表,变量列表应该与前面的变量占位符是一一对应的!
例如: $name="zhangsan";
$age =30;
$home="cn";
printf ("我的名字叫%s;年龄为%d;I come from %s",$name,$age,$home);
输出结果:我的名字叫zhangsan;年龄为30;I come from cn
占位符
%s:将后面的变量认为是一个字符串,并显示为字符串!
%c:将后面的变量认为是一个整数,并显示为该整数所对应的ACSII码的值 (取值0~127)
%d:将后面的变量认为是一个整数,并显示为有符号的十进制数 (有正负之分)
%u:将后面的变量认为是一个整数,并显示为无符号的十进制数 (无正负之分)
%o:将后面的变量认为是一个整数,并显示为无符号的八进制数
%x:将后面的变量认为是一个整数,并显示为无符号的十六进制数
%f:将后面的变量认为是一个浮点数,并显示为浮点数
变量
基础语法:$
$只是一个语法形式,代表后面的标识符为一个变量名!所以,$不算是变量名的一部分,用于标识后面的字符串是一个变量名
声明变量(增) PHP是弱类型语言,主要体现在以下的两点:
PHP不需要显示的声明变量,相反,变量的声明一般是和变量的赋值(初始化)同时进行的!
变量可以是任意的类型,而不需要指定具体的类型,或者说可以放置任意类型的值!
虽然php变量不需要显示的声明,并不代表我们可以直接使用一个完全没有初始化的变量!
PHP变量不需要指定类型,但是并不代表该变量没有数据类型,变量的数据类型就是其保存的值的类型
删除变量(删) 这个时候需要使用PHP的内置函数(系统函数)unset来完成!
修改变量(改) 重新赋值就行了!
获取变量的值(查) 使用$符号找到相应的变量并输出即可
可变变量
变量一共就两个部分:变量名 变量值
其中变量值肯定是可变的,所以,可变变量的含义就是变量的名字可变,也就是说,变量的名字可以用另外一个变量来代替!所以,可变变量也叫作变量的变量
例如: <?php
$a="itcast";
$itcast="Hello,World!";
echo $$a;
输出结果: Hello,World!
变量间值传递
值传递 变量间的值发生改变
例如:
<?php
$a=100;
$b=$a;
$b=200;
echo $a;
echo $b;
输出结果:100
200
引用传递 也叫地址传递,将一个变量值的地址赋值给另外一个变量!变量的地址发生改变
例如:
<?php
$a=300;
$b=&$a;
echo $b;
$b=200;
echo $a;
echo $b;
输出结果:300
200
200
预定义变量
$_SERVER 指的是,服务器可以收集到的浏览器信息和服务器信息的集合!是一个数组!
在真实的项目中,需要什么就打印什么,通过数据的中括号语法访问其中的一些元素
$_GET 用于接收用户在填写表单的时候采用get方式提交的所有的数据
GET传值的特点: 1, 在用户提交的时候,会把表单中的信息放在URL地址的后面一起传递给所提交的服务器端的文件,请求脚本名与数据之间采用问号?
分割,数据与数据之 间采用&分割,数据的名字和数据的值之间以等号=分割!
2. 不是很安全!传输量比较
$_post 也是用来接收表单的数据,只不过接收采用POST方式提交的数据
注意:绝大部分的表单都是采用POST方式提交!
因为: 1, POST可以传递二进制而get方式不行!
2, POST提交的数据更多,默认可以达到8M
3, 更安全
$_REQUET ($_REQUEST = $_GET + $_POST +$_COOKIE) 包含了用户所有的请求数据,典型就是post数据和get数据
$_COOKIE,$_SESSION 会话技术
$_FILES 文件上传
$GLOBALS 变量作用域
常量
语法:
define("常量名",常量值)
另外,在新版本的PHP中,还支持另外一种定义常量的语法:
const 常量名=常量值;
(注意:const本来是定义类常量的一种语法,新版本的PHP中扩展了它的功能,也能定义普通常量)
注意:
常量是全局的,在脚本的任意的地方都可以使用!(包括函数内和函数外)
常量名不能有$
常量名的命名规则与变量相似,而且更加宽松
常量名一般大写;
get_defined_constants()
一个系统函数,可以得到所有已经定义了的常量!是一个数组
预定义常量
魔术常量
使用的语法与常量一致,而且也是预定义的,但是,其值,由代码所在的位置决定的,也就是说,出现的位置不一样的时候,其值也不一样!
魔术常量的最大特点是:以两个下划线开始,以两个下划线结束
__FILE__ 当前脚本所在的路径
__DIR__ 当前脚本所在的目录
__LINE__ 当前代码所在的行号
__FUNCTION__ 当前函数的名字
__METHOD__ 当前方法的名字
__CLASS__ 当前类的名字
__NAMESPACE__ 当前命名空间的名字