1.变量:
1.变量必须以$开头,后面紧跟变量名
注意:通常,在“能够出现”变量的语法中,只要出现$符号,并在其后出现紧挨着的字符,就会被识别为一个变量,即使不存在该变量,比如:echo “人民币符合¥像个羊,美元符号$象个钱”; 输出到页面就是 象个钱;
2.定义变量:直接给变量赋值就是定义 ($v1=1)
注意:不支持js那种定义不赋值换句话说第一次给一个变量赋值就算是定义变量
3.取值:
1.输出:echo $v1 //取得$v1的值,并输出
2.给其他变量赋值: $v2=$v1 //取得$v1的值,并赋值给$v2
3.参与运算:$v3=$v1+3 //取得$v1的值,并跟3相加
4.判断变量是否存在 isset():
1.存在 就返回true 不存在就返回false 1是true 0是false
2.一个变量的值是ull 返回的也是false
5.修改变量值:
1.第二次及以后给一个变量赋值,就算修改变量
6.删除 unset():
1.就是断开变量名跟数据之间的引用关系
例如:(unset($v1 ))此时数据没有被任何一个变量名引用 变量名$v1也没有引用任何数据 他们都是存在的
7.变量间的传值方式 有两种 一种是值传递 二是引用传递
值传递:是指将一个变量的数据值(内容)拷贝一份,然后赋值给另一个变量 赋值以后这两个变量就没有关系了(互相独立)
引用传递:$v2=&$v1 加&符号 是指将一个变量的数据值(内容)拷贝一份,然后赋值给另一个变量 另一个变量也同样由该关系决定了指向某个数据 他们互相关联 例如$v1++ $v2也是++
8.可变变量:
含义:所谓可变变量,就是一个变量的名,又是一个变量 它是php的很特殊语法——其他语言中
理论上,可变变量的嵌套还可以更多,比如$$$def
9.预定义变量(超全局变量)数据类型都是数组:
常用的:$_GET, $_POST, $_SERVER, $_REQUEST, $GLOBALS, $_COOKIE, $_SESSION, ..........(大约10个)
10.$_GET变量:
常常出现在表单里:<form action=”abc.php” method=”get” >.....</form>这就叫做表单以get方式提交数据
形式一:注意:多项选是用数组的形式来命名的
形式二:
形式三:
形式四:
注意:不管那种形式的get提交过来的数据,获取的数据是一样的
11.$_POST变量
通常只有一种形式:
12.$_REQUEST变量
如果既想有post提交也想有get提交就用$_REQUEST:
13.$_SERVER变量
含义:该变量存储了服务器端或客户端的一些请求信息或设置信息,比较多,而且不同的服务器和不同的请求页面,其数据项都可能不同。
常用的有:
1.0REMOTE_ADDR, 用户的IP地址
2.SERVER_ADDR: 服务器端的IP地址
3.SERVER_NAME: 服务器名(主机名)
4.DOCUMENT_ROOT: 站点绝对路径(其实就是主机设置中的DocumentRoot)
5.PHP_SELF:当前网页的文件路径
14.$GLOBALS变量:
含义:似乎是一个多余的变量:它只是把我们自己定义的所有全局变量存储到该数组中:变量名就是该数组的下标(键名),变量值就是对应的值。
2.常量:
含义:用于储存一个不会变化也不希望变化的数据的标示符 命名规则全大写
1.定义形式:
define('常量名','常量值'):
const 常量名 = 常量值; 只能在最顶层的代码域中使用 例如:
2.使用常量:
1.直接使用名字
2.constant('常量名')
3.常量与变量的区别:
1.定义/使用形式不用:常量无需$符号
2.可变程度不同:常量的值不可以改变,常量也不可以销毁
3.作用范围不同:常量具有超全局作用域(函数内外都可以直接使用)
4.可用类型不同:常量只能储存标量类型:int,float,string,bool
4.判断常量是否存在 判断结果为布尔值:
常用形式:if ( defined (某常量名) == false ){ 这里可以去定义该常量;}
也可以:$result = defined (某常量名); //结果是true或false
5.预定义常量 都可以直接使用:
比如:M_PI(圆周率), PHP_OS(操作系统), PHP_VERSION(php版本号),PHP_INT_MAX(php中的最大的整数值)
例如:
6.魔术常量 :
含义:值会随着一定的条件(环境)而变化的常量,形式和使用上是常量,但值会改变
比如:比如(都是两个_):__DIR__(当前网页文件的所在目录),__FILE__(当前网页文件),__LINE__(当前这一行)
例如: