PHP基础知识回顾-创新互联
一.PHP数据类型
三大数据类型(标量,复合,特殊)
在PHP中,一共支持八种原始数据类型:它们是4种标量类型,boolean(布尔型),integer(整型),float(浮点型)和string(字符串型);两种符合类型,array(数组)和object(对象);两种特殊类型,resource(资源)与空值(null)
字符串的定义方式
1.单引号
要表达一个单引号自身,需在它的前面加个反斜线(\)来转义。要表达一个反斜线自身,则用两个反斜线(\)。其它任何方式的反斜线都会被当成反斜线本身:也就是说如果想使用其它转义序列例如 \r 或者 \n,并不代表任何特殊含义,就单纯是这两个字符本身。
2.双引号
用双引号定义的字符串最重要的特征是变量会被解析,详见变量解析。
3.heredoc和newdoc
heredoc 类似于双引号
newdoc 类似于单引号
两者都是用来处理大文本
代码
header("Content-type: text/html; charset=utf-8");
$var = 'PHP变量';
$vara = 'PHP变量555555';
echo <<<'aaa'
PHP heredoc技术
$var
$vara
aaa;
echo <<
PHP heredoc技术
$var
zhangshan;
代码实现区别 变量加引号和不加引号。
数据类型
标量:
1.浮点类型
浮点类型不能用于比较计算的判断(原因 计算机计算基于二进制,有精度缺失)
例子:0.1+0.7==0.7999!=0.8
2.布尔类型(7种)
0,0.0,'',false,array(),NULL
3.数组类型
超全局数组
$GLOBALS,$_GET,$_POST,$_REQUEST,$_SESSION,$_COOKIE,$_SERVER,$_FILES,$_ENV
$_SERVER
1.记录请求的结果码
2.记录请求过来的必要信息(请求ip 来源地址 请求时间,请求方式,来源地址解析等)
3.记录服务器的配置信息(域名路径,环境配置信息,执行路径,执行文件路径等)
php引用变量
定义:
php引用变量:不同变量名指向同一地址。 符号&
本质:
多个变量共用一个内存空间。(memory_get_usage内存空间使用情况查看函数,xdebug_debug_zval查看变量的情况)
直接变量之间的赋值在赋值变量改变的时候将会开辟新的内存空间。(一般的变量赋值给另外一个变量,内存空间还是共用,但是在赋值变量改变的时候,PHP将会开辟新的内存空间保存不同的值)
注意:
unset其中一个引用变量不影响其他变量。
其中一个引用变量重新赋值,其他的变量值发生改变,其中一个变量如果是引用变量指向另外地址空间,则跳出和之前变量的共用空间,独立开辟新空间。
data 值为array(b,c,c);总结:多个变量之间共用空间通过&地址符赋值,单个变量通过unset变量取消引用或者通过地址符&重新赋值新地址,跳出和其他变量的共用空间。共用空间内的所有引用变量,其中一个变量改变其他变量值也会改变。
二.运算符
运算符优先级
@为屏蔽表达式发生全部错误信息运算符
br/>总结:多个变量之间共用空间通过&地址符赋值,单个变量通过unset变量取消引用或者通过地址符&重新赋值新地址,跳出和其他变量的共用空间。共用空间内的所有引用变量,其中一个变量改变其他变量值也会改变。
二.运算符
运算符优先级
@为屏蔽表达式发生全部错误信息运算符
PHP遍历数组的三种方式
1.for
2.foreach
3.list while each
reset() reset — 将数组的内部指针指向第一个单元
PHP分支语句
1.If else:
2.Switch case
Switch case 不同的值直接存放在索引数组里面 效率高于if分支。属于精确查询。代码如下
switch (n)
{
case label1:
如果 n=label1,此处代码将执行;
break;
case label2:
如果 n=label2,此处代码将执行;
break;
default:
如果 n 既不等于 label1 也不等于 label2,此处代码将执行;
}
四.自定义函数以及内部函数
不能直接把全局变量直接用到局部。需要设置全局可以如下:
静态变量
解释:常作为递归的判断方式。
$a $b 互为引用
外部文件引入:
五.正则表达式
六.文件及目录
文件前面追加字符串思路
七.php会话控制技术
具体可以参考文章(https://www.jianshu.com/p/7ec08ec8ba36)
(https://www.cnblogs.com/wswang/p/6062461.html)
八.面向对象
文章(https://www.imooc.com/article/23924)
方法重写
文章参考(https://www.cnblogs.com/giantpanda/archive/2012/11/07/2759458.html)
构造函数
构造函数可以接受参数,能够在创建对象时赋值给对象属性
构造函数可以调用类方法或其他函数
构造函数可以调用其他类的构造函数
析构函数
析构函数是在销毁对象时,自动调用,不能显示的调用。
析构函数不能带参数。
在以下几种情况下可能会调用析构函数(但不一定):
PHP页面加载完毕之后;
unset()类;
变量引用指向别的对象或值时;
PHP的内存回收机制和JAVA的很类似,对没有任何引用的对象进行销毁回收,采用引用计数器的技术。
// 构造函数
function __construct([argument1,argument2,...,argumentN]){
/ Class initialization code /
}
// 析构函数
function __destruct(){
// ...
}
九.网络协议
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享标题:PHP基础知识回顾-创新互联
文章地址:http://ybzwz.com/article/dgjhdg.html