在学习PHP之前先了解一下PHP究竟是个什么东西?
PHP全名Hypertext Preprocessor 中文超文本预处理器 是一种 在服务端编译执行(与JS不同)嵌入到HTML文档 的脚本语言 主要应用于web开发 、
从语法上看 PHP是一种弱类型语言 变量本身没有数据类型 数据类型所针对的是变量所存储的数据 强类型语言在新增变量的时候就会定义变量的数据类型 一旦申明 变量就只能存储所申明的数据类型 例如 : int a ; a就是只能存储整数型 而在PHP中 $a =1;之后 $a ="abc"是完全不冲突的 PHP是一种运行在内存中的代码 内存中的数据与需要通过PHP来处理 PHP通过变量与常量将这种数据临时保存
PHP标签 : <?PHP ..........?> 或者是<?PHP (没有尾标签 应用于全部是PHP代码的情况) 或者是用脚本标注<Script language = "PHP" 代码 </script>因为这种标签与JS很像 所以不推荐
PHP注释 : 与大多数编程语言一样 PHP注释分为两种 分别是 单行注释// 与 多行注释哦/*........*/
PHP变量 :代码中的变量指向于内存中的数据 变量需要在有限的生命周期内将变量所指向的有意义的数据存储到数据库中进行持久化保存 运行周期结束 内存数据清除 命名规则与大多谁编程语言一样由数字字母下划线组成(不能由数字开头)区分大小写 驼峰命名等等 其中最重要的是每个变量的开头都必须带有"$"符号
PHP预定义变量 接受发送吧用户操作和与系统有关的存储数据 都是以数据方式存放的 并且变量名大写 $_GET $_POST $_REQUEST $_SERVER (用户和服务器的基本信息) $_FILES(用户提交的文件数据)$_SESSION(session数据) $_COOKIE(cookie数据) $_ENV(环境数据) $GLOBALS(全局变量)
PHP变量的复制 第一种是值传递 $a =10 ;$b =$a ; 此时只不过是在数据段中复制了一个 整数型 10 并且指向变量b,此时a,b没有关系 当b改变时 $b="abc" a不会改变 第二种是引用传递 引用传递是把地址赋值给b 例如 $a=49;$c = &a ;此时是把a在数据段中的地址 赋值给了c 当改变时 c也会跟着改变
PHP的内存分析 内存主要分为栈(速度快 容量很小 存放名字 索引等小文件 ) 数据段(速度和大小都适中 主要存放一些字符 数字 等小数据 ) 堆(速度慢 容量大 存放对象 数组 资源等大文件)代码段主要存放编译后的字节码
PHP常量 一开始赋值后 整个运行周期不在改变 与常量不同的是常量的定义方式有两种 第一种define("PI","3.1415926") 第二种cost PI = 3.1415926
系统常量 ; PHP_VERSION PHP_INT_SIZE PHP_INT_MAX
魔术常量 : 比较特殊的常量 在不同的情况下代表不同的值 但是都是同一类型的值 例如__DIR__就代表该文件所处的路径 __File__代表该文件所处的位置以及带上文件名 __LINE__当前代码所处的行数 __function__函数名等等
<?php
echo "此文件的绝对路径是".__FILE__."<br/>";
echo "此文件所在位置是".__DIR__.'</br/>';
function test (){
echo "函数名是".__FUNCTION__.'<br/>';
}
test();
?>
静态变量 : 定义时加上 static 关键字 PHP静态变量只能在函数内部使用 其特点时 静态变量只会在第一次调用时执行初始化语句 后面就不在调用初始化语句 避免初始化 以作业函数计算器为例(计算此次调用函数是第多少次调用)
<?php
function test(){
static $a = 0;
$a++;
echo "这是第".$a."次调用函数\n";
}
test();
test();
test();
test();
?>