您现在的位置是:首页>文章详情

PHP面试笔记

2020-09-19编程笔记

简介PHP面试笔记

<?php
/**
 * Created by PhpStorm.
 * User: 烛龙博客
 * Date: 2020/9/19
 * Time: 14:06
 * PHP面试基础
 */
/**
 * 什么是引用变量
 * 答:在PHP中引用意味着用不同的名字访问相同的变量 用&符合表示
 * unset只会删除引用不会删除内存空间
 * 对象本身就是引用传递
 */
$a = range(0,1000); //range()0-1000的数组
var_dump(memory_get_usage());//memory_get_usage()查看内存使用情况
$b  = &$a ;
$c = &$a;
var_dump(memory_get_usage());

xdebug_debug_zval('c');//xdebug_debug_zval()查看是否引用 refcount=多少变量指定 is_ref是否引用

/**
 * 三大数据类型:标量,复合,特殊
 * 浮点类型不能用于比较运算
 * 布尔类型 false的七种情况: 0,0.0,'','0',false,array(),null
 *NULL 的三种情况 直接赋值为null 未定义变量 unset销毁变量
  *常量定义 const,define 3 const性能最好
 */

 /*运算符优先级
 * 递增/递减->算数运算符->大小比较>逻辑与->逻辑或->三目->赋值
 */
if ($a = 3>0or$b = 3 >0){
    $a++;
    $b++;
    echo $a;
    echo $b;
}
//递增递减运算符不影响布尔值
//递减null值没有效果
//递增null值为1

/**
 * 流程控制
 *  for循环只能遍历索引数组 ,foreach可以遍历索引和关联数组,
 *  联合使用list(),each()和while循环同样遍历索引和关联数组;
 *  真题:PHP如何优化多个if elseif语句?
 *  答:把表达式的可能性越大放在前面如果要处理更多的判断且判断的类型是字符串整型浮点型就用swatch会有效率上的提升
 */
/**
 * 自定义函数和作用域
 *  默认情况下,函数参数通过值传参
 * 如果希望允许函数修改它的值,必须通过引用传递参数
 */


$count = 5;
function get_count()
{
    static $count;
    return $count++;
}
echo $count;
++$count;
echo get_count();
echo get_count();

$a = 1;
function aa(&$a){
    $a  = 2;
}
aa($a);
echo $a;

/**
 * 面向对象
 */

class  box
{
   

    public function test()
    {
        echo 123;
    }
}

class  pox extends box

{
    public function test()
    {
        parent::test();//在test()继续写入代码
        echo 321;
    }
}

$aa = new pox;

/**
 * 网络协议
 * HTTP协议状态码: 100请求状态码 200状态码 300重定向状态码 400客户端错误状态码 500服务器错误状态码
 * OSI七层模型 物理层,数据链层,网络层,传输层,会话层,表示层,应用层
 * HTTP协议的工作特点和工作原理:基于B/S模式 通讯开销小,简单快速,传输成本低,使用灵活,可使用超文本传输协议
 * 原理:客户端发送请求给服务端,创建一个TCP连接,指定端口号,默认80,连接服务器,服务器监听浏览器请求,一旦监听到客户端请求,分析请求类型后,服务器会向客户端返回状态信息和数据内容
 *
 *  https的工作原理:HTTPS协议在HTTP协议的基础上,添加了SSL/TLS握手以及数据加密传输,也属于应用层协议
 *
 */

编程经验

后端技术

旅行相册

常用工具

影视推荐

前端技术

网站源码

QQ技术教程

破解软件

人生杂记

服务器技术

编程笔记