长沙大型做网站公司,如何建单页网站栏目,不侵权的图片素材网站,企业网站静态模板1#xff0c;PHP引用变量的考察点#xff1a; 概念#xff1a;引用就是用不同的名字访问同一个变量内容。 定义方式#xff1a; 使用符号。 PHP引用变量的工作原理 这里有个COW copy on write 用zval#xff08;#xff09;去查看空间占用情况以及引用情况。 unse… 1PHP引用变量的考察点 概念引用就是用不同的名字访问同一个变量内容。 定义方式 使用符号。 PHP引用变量的工作原理 这里有个COW copy on write 用zval去查看空间占用情况以及引用情况。 unset 只用取消引用不会销毁 当引用变量的值被改变那么原空间的值也随之改变对象本身就是引用引用传递2常量及数据类型 字符串的定义方式和区别 定义方式单引号双引号heredoc 和 newdoc 单引号单引号不能解析变量单引号不能解析转义字符只能解析单引号和反斜线本身变量和变量变量和字符串、字符串和字符串之间可以用.点来连接 双引号双引号可以解析变量变量可以使用特殊字符和{}包含可以解析所有的转义字符也可以使用点来连接 单引号的效率高于单引号 2.数据类型八大数据类型 1浮点类型不能用于精确的相等的计算 2布尔类型 false 的7种情况 整型0,浮点0.0,空字符串 0字符串‘0’,布尔false,空数组array(),NULL 3数组 超全局数组 $_GET[] 获得以GET方法提交的变量数组 $_POST[] 获得以POST方法提交的变量数组 $_COOKIE[] 获取和设置当前网站的Cookie标识 $_SESSION[] 取得当前用户访问的唯一标识以数组形式体现如sessionid以及自定义session数据 $_ENV[] 当前php环境变量数组 $_SERVER[] 当前php服务器变量数组 (列举常考的点) $_SERVER[‘SERVER_ADDR’] 当前运行脚本所在的服务器的 IP 地址。$_SERVER[SERVER_NAME]当前运行脚本所在的服务器的主机名$_SERVER[REQUEST_TIME]请求开始时的时间戳$_SERVER[QUERY_STRING]query string查询字符串如果有的话通过它进行页面访问$_SERVER[HTTP_REFERER] -- 链接到当前页面的前一页面的 URL 地址。$_SERVER[HTTP_USER_AGENT] -- 返回用户使用的浏览器信息。也可以使用 get_browser() 得到此信息。$_SERVER[HTTP_USER_AGENT] -- 返回用户使用的浏览器信息。也可以使用 get_browser() 得到此信息。$_SERVER[REQUEST_URI] -- 访问此页面所需的 URI。例如“/index.html” $_FILES[] 上传文件时提交到当前脚本的参数值以数组形式体现 $_REQUEST[] 包含当前脚本提交的全部请求$_GET、$_POST、$_COOKIE的所有动作 $GLOBALS[] 包含正在执行脚本所有超级全局变量的引用内容 3NULL 三种情况 直接赋值为NULL未定义的变量为NULLunset销毁的变量为NUll 常量 定义常量 。const 、defineconst更快因为是语言结构define是函数const 可以定义类的常量define不行 预定义常量 __LINE__ 文件中的当前行号 __FILE__ 文件的完整路径和文件名。如果用在被包含文件中则返回被包含的文件名。 __DIR__ 文件所在的目录。如果用在被包括文件中则返回被包括的文件所在的目录。 __FUNCTION__ 函数名称PHP 4.3.0 新加。 __CLASS__ 类的名称 __TRAIT__ Trait 的名字 __METHOD__ 类的方法名PHP 5.0.0 新加。返回该方法被定义时的名字区分大小写。 __NAMESPACE__ 当前命名空间的名称区分大小写。此常量是在编译时定义的PHP 5.3.0 新增。 3、PHP中运算符 错误控制符 放在一个PHP表达式前该表达式产生的任何错误信息都会有被忽略掉 运算符的优先级 常用列举具体查看运算符优先级表 递增/递减!算数运算符大小比较(不)相等比较引用位运算符^位运算符|逻辑与逻辑或三目赋值andxoror 括号的使用可以增加代码的可读性推荐使用 比较运算符 和的区别 双等 是值相等 三等是要求值和属性都相等 递增递减运算符 递增递减运算不影响布尔值 递减NULL值没有效果 递增NULL 值为一 递增递减在前就先运算后返回反之就是先返回后运算 逻辑运算符 短路作用 如 $bfalse $a1 || or and 的优先级不同 如$a false or true;返回时or $a false || true; 返回时true 4、PHP中流程控制考点 PHP遍历数组的三种方式以及各自的区别 forforeach,while/list()/echo(组合循环 for循环只能遍历索引数组foreach可以遍历索引和关联数组while和list(),echo()也同样可以。 foreach遍历会对数组进行reset()操作 if....elseif 只能有一个表达式为true,既在一个ifelse语句中只能有一个语句块被执行多个elseif从句是排斥关系使用elseif语句有一个原则总把条件范围小的优先放在前面处理 switch....case 表达式后面的控制表达式的数据类型只能是整型字符串和浮点型 continue的作用相当于break跳出switch 外的循环可以使用continue2 会生成跳转表直接跳到对用的case 效率 如果条件比一个简单的语句复杂的多或者在多个循环中 switch...case 会更快 5.自定义函数和内部函数的考点 变量的作用域和静态变量 变量的作用域也称变量的范围变量的范围就是它上下文的一个背景 大部分PHP变量只有一个单独的范围。这个单独的范围跨度同样包含了include和require的引入文件 golbal关键字 $GOLBALS以及其超全局数组$_GET,$_POST,$_COOKIE 静态变量 静态变量只在局部函数域中存在但当程序执行离开此作用域时其值并不会消失。 static 关键字 的特点 1只初始化一次 2初始化时需要赋值 3每次执行函数该值会被保留 4static修饰的变量时局部的只在函数内部有效 5可以记录函数调用的次数从而在某种条件下起到终止递归 函数的参数 默认情况下函数通过值进行传递 如果希望允许修改函数的值必须通过引用传递参数 函数的返回值 值通过使用可选的返回语句return返回 可以返回包括数组对象的任意类型 返回语句会终止函数执行并将控制权交个函数调用处 省略人return,返回值为null,并且不支持返回多个返回值 函数的引用返回值 从函数返回一个引用必须在函数声明和指派返回值给一个变量时都使用引用运算符 外部文件的导入 incloud/require语句包含并运行指定文件 如果给出路径就安路径查找否则就从incloud_path中查找如果incloud_path 中也没有就会从所调用的脚本的所在目录和当前工作目录下寻找 当一个文件被包含的时候其中所包含的代码继承了incloud的所在行的变量范围 价值过程中文找到文件incloud会发出一条警告require会报出致命的错误 require在出错是产生E_COMPILE_ERROR级别的错误。换句话说脚本将会终止incloud只是发出了警告脚本继续执行 incloud_once(require_once)/incloud(require)的唯一区别就是PHP会检查文件是否被包含过如果有就不在被包含 系统内置的函数 时间日期函数 date(),strtotime(),mktime(),time(),microtime().date_default_timezone_set() IP处理函数 iptolong()、longtoip() 打印处理 print(),printf(),print_r(),echo,sprintf(),var_dump(),var_export() 序列化以及反序列化函数 serialize(),unserialize() 字符串函数 explode(),implode(),join(),strrev(),trim(),ltrim(),rtrim(),strstr(),number_format()... 数组处理函数 array_keys(),array_values(),arrdiff(),array_intersect(),array_merge(),array_shift(),array_unshigft(),array_pop(),array_push(),sort(), 6.正则表达式/*正则表达式的作用 分割 查找 匹配 替换字符串 *分隔符正斜线/,hash符号的#以及去反的符号~ * 通用原子/d,十进制的0~9 * /D,取反 * * /w,数字字母下划线 * /W,取反 * /s,空白符 * /S除了空白符 * 元符号. 除了换行符的任意字符 * *匹配前面的字符出现零次1次或者多次 * 0次或者一次 * ^ 必须以他开头 * $ 必须以他结尾 * 出现一次或者多次 * {n}恰巧出现n次 * {n,}大于等于n次 * {n,m}大于n小于等于m * [ ] 一个集合 * ()代表互相引用或者当成一个整体 * 【^】代表取反 * | 或者 * 【-】代表的是一个范围 * 模式修正符 * i不区分大小写 * m将字符串字通过分割符进行一个分割增添到字符串的每一行分别进行匹配 * e * s修正点的换行 * U 取消他的模式 * x 忽略模式中的空白符 * A 必须以这种模式开头 * D 修正 $对\n反斜线的忽略 * u 当我做一个utf-8的中文时 用到 * 后向引用 * * * 贪婪模式 * * * * */ 文件以及目录操作* 文件的读取/写入操作* fopen()函数* 用来打开一个文件打开时需要指定打开的方式* 打开模式 r/r 用只读方式打开并且将文件指针指到文件的开头/用读写的方式打开并且将文件指针指到文件的开头* w/w用写入方式打开将文件指针指到文件的开头并且将文件的大小结尾零清空你的文件/用读写的方式打开并且将文件指针指到文件的开头 并且将文件的大小结尾零清空你的文件* w要是文件不存在就会先创建文件* a/a 追加的写入方式将文件指针指到文件的末尾 /读写方式 文件不存在就会先创建文件* x/x b t* 读取函数 fread() fgets() 获取一行 fgetc()获取一个字符* 关闭函数 fclose()* 不需要fopen()打开的函数 file_get_contents() file_put_contents()* 其他的读取函数 file() readfile()* 访问远程文件 开启allow_url_fopen ,HTTP协议连接只能使用只读FTP协议可以使用只读或者只写* 目录相关的操作函数* 名称相关basename(),dirname(),pathinfo();* 目录读取Opendir(),reddir(),closedir(),rewinddir()* 删除目录rmdir() 该目录为空才能删除 否则删除不了* 创建目录 mkdir()* 文件大小fileSize()进行获取* 目录大小disk_free_space()磁盘大小剩余空间 disk_total_space() 总共的大小* 文件拷贝copy()* 删除文件 unlink()* 文件类型filetype()进行获取* 重命名文件或者目录rename不光可以重命名而且可以移动文件目录* 文件的截取ftruncate() 截取到指定的大小* 文件的属性file_exists()判断文件时候存在* is_readable()是否可读* is_writtable()是否可写* is_executable()是否可执行* filectime()文件的修改时间* fileatime()文件的访问的时间* filemtime()整个的一个修改时间* 文件锁flock()* 文件指针ftell() fseek() rewind()** */ /** * 会话技术 * cookie 是存储在客户端的文件 * setcookie($namn键,$value值,$exprie过期时间,$path路径, $domain域名,$secure安全) * $_COOKIE * 删除cookie * setcookie($name,,time()-1000); * cookie 的优缺点 * 优点 它在客户端存在不会浪费服务器资源效率会高一些 * 缺点 由于他在客户端存储 不建议将一些敏感的信息存储在cookie中而且用户有权限禁止COOKIR的使用 * *sesstion 存储在服务器 它基于cookie * sesstion_start(开启sesstion() * $_SEESSTION * $_SESSTION[] * sesstion_destroy()删除sesstion * * session 优缺点 * 存于服务器中 安全 依赖于cookie 缺点占用服务器资源 * 传递sessionID session_name() 和session_id() * * session的存储 session_set_save_handler( ) */ /** * 网络协议 * HTTP协议状态码 * 五大类状态码 1XX信息类状态码 2XX成功状态码 3XX进行附加操作完成请求 4XX 客户端错误状态码 5XX服务器错误 * 200 ok被正常处理了 204已成功处理但是在返回的报文中不含实体的主体部分 206 部分的内容 * 301 永久性重定向 302 零时性重定向 303 存在另一个URL 304 307302 * 400 请求的报文中有语法错误修改后请在一次请求 * 401 发送请求需要有HTTP认证的认证信息 403对服务器的访问被拒绝了 404 服务器上无法找到访问的资源 * 503 服务器在进行超负载或者维护 * * HTTP 协议的请求方法 * GET * POST * HEAD * OPTIons * PUT * DELETE * TRACE * * GET 和POST区别 * 1在做后退和刷新的时候GET是无害的POST数据就会被重新提交 * 2GET可以收藏为书签 但POST不行 * 3GET请求可以被浏览器缓存POST不能被缓存 * 4GET请求会对url的长度有限制2048POST 没有 * 5安全性 GET 没有POST安全 * 6显现性 GET在URL可见POST 不会显示 *HTTPS的工作原理 * https 是一种基于SSL/TLS的HTTP协议所有的HTTP数据都是在SSL/TLS协议封装上传输的 * https 协议在HTTP协议的基础上添加了SSL/TLS握手以及数据加密传输也属于应用层协议 * * 常见的网络协议含义以及端口 * FTP文件传输协议默认端口21 Telnet (用于远程登录的端口用户可以远程链接计算机 23) * SMTP(定义了简单邮件传输协议 发送邮件 25) POP3主要用于接收邮件端口110 * HTTP超文本传输协议 端口80DNS用于域名简析服务 53 */ *开发环境的配置 版本控制器 集中式和分布式 CVS 和SVN GIt PHP的运行原理 CGI fastCGI 改良了CGI PHP-FPM 进程管理器 真题 请简单叙述 CGI fastCGI h和 PHP-FPM的区别 CGI 代表为了联系PHP 和websevae 的一个桥梁 fastCGI 是CGI的改良版 PHP-FPM 进程管理器 转载于:https://www.cnblogs.com/gaowei521/p/10885487.html