最近在找工作,本专题持续更新中,包含大量函数注释(我是小白,所以自己查了函数用法copy上来),置顶使用!
0x01 中文字符串截取无乱码的方法
<?php
// 1. 通过内置函数
mb_substr();
echo mb_substr("菜鸟教程", 0, 2);
// 输出:菜鸟
// 2. 自定义方法
function selfSubstr($string, $start, $length = null)
{
return implode('', array_slice(
preg_split('//u', $string, -1, PREG_SPLIT_NO_EMPTY), $start, $length)
);
}
0.1 PHP | implode() Function
类似于python中的join(),可以将数组拼接成字符串
$arr = array('Hello','World!','Beautiful','Day!');
echo implode(" ",$arr);
// 输出
// Hello World Beautiful Day!
0.2 PHP | preg_split() Function
该函数通过正则匹配模式切割字符串为数组,语法如下
array preg_split( $pattern, $subject, $limit, $flag )
示例如下
<?php
// Input string
$inputstrVal = 'Geeksarticle';
// Implementaion of preg_split() function
$result = preg_split('//', $inputstrVal , -1, PREG_SPLIT_NO_EMPTY);
// Display result
print_r($result);
?>
0x02 PHP 语言的一大优势是跨平台,什么是跨平台?
PHP 的运行环境最优搭配为 Apache+MySQL+PHP,此运行环境可以在不同操作系统(例如 windows、Linux 等)上配置,不受操作系统的限制,所以叫跨平台
0x03 WEB 开发中数据提交方式有几种?有什么区别?百度使用哪种方式?
Get 与 post 两种方式
区别:
(1)url 可见性:get 方式 url 参数可见,post 不可见
(2)可缓存性:get 方式是可以缓存的,post 方式不可以缓存。
(3)传输数据大小:get 一般传输数据大小不超过 2k-4k(根据浏览器不同,限制不一样,但相差不大);post 请求传输数据的大小根据 php.ini 配置文件设定,也可以无限大。
(4)数据传输上:get 方式通过 url 地址栏拼接参数进行传输,post 方式通过 body 体进行传输。
建议:
1、get 式安全性较 Post 式要差些包含机密信息建议用 Post 数据提交式;
2、做数据查询建议用 Get 式;做数据添加、修改或删除建议用 Post 方式;
3 丶百度使用的 get 方式,因为可以从它的 URL 中看出
————————————————
原文作者:NiZerin
转自链接:https://learnku.com/articles/24140
版权声明:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请保留以上作者信息和原文链接。
web完整的请求方式表格
序号 | 方法 | 描述 |
1 | get | 请求指定的页面信息,并返回实体主体。 |
2 | HEAD | 类似于 GET 请求,只不过返回的响应中没有具体的内容,用于获取报头 |
3 | POST | 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。 |
4 | PUT | 从客户端向服务器传送的数据取代指定的文档的内容。 |
5 | DELETE | 请求服务器删除指定的页面。 |
6 | CONNECT | HTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器。 |
7 | OPTIONS | 允许客户端查看服务器的性能。 |
8 | TRACE | 回显服务器收到的请求,主要用于测试或诊断。 |
9 | PATCH | 是对 PUT 方法的补充,用来对已知资源进行局部更新 。 |
0x04 安全对一套程序来说至关重要,请说说在开发中应该注意哪些安全机制?
(1)使用验证码防止注册机灌水。
(2)使用预处理,绑定参数,参数过滤转义 防止 sql 注入
(3)使用 token 防止远程提交,使用 token 验证登录状态。
0x05 SESSION 与 COOKIE 的区别?
(1)存储位置:session 存储于服务器,cookie 存储于浏览器
(2)安全性:session 安全性比 cookie 高
(3)session 为‘会话服务’,在使用时需要开启服务,cookie 不需要开启,可以直接用
0x06 PHP 处理数组的常用函数?
(1)array () 创建数组
(2)in_array () 判断元素是否在数组中
(3)count () 返回数组中元素的数目
(4)array_merge () 将多个数组合并成一个数组
(5)array_diff () 比较两个或两个以上数组的差异
(6)array_intersect () 获取两个或两个数组以上的交集
(7)array_keys () 获取数组的 key 列表
(8)array_values () 获取数组的值列表
(9)array_unique () 删除数组中的重复值
(10)array_push () 将一个或多个元素插入数组的末尾(入栈)
(11)array_pop () 弹出并返回 array 数组的最后一个单元(出栈)
(12)array_walk () 使用用户自定义函数对数组中的每个元素做回调处理
0x07 PHP 处理字符串的常用函数?
(1)trim () 移除字符串两侧的空白字符和其他字符;
(2)strlen () 获取字符串的长度
(3)mb_strlen () 获取字符串长度(可指定字符编码,对中文字符串计算长度)
(4)substr () 返回字符串的一部分;
(5)str_replace () 子字符串替换
(6)str_repeat () 重复一个字符串
(7)is_string () 检测变量是否是字符串;
(8)str_shuffle () 随机打乱一个字符串
(9)sprintf () 返回根据格式化字符串生成的字符串(通常用于获取分表后的数据表名)
(10)strstr () 查找字符串的首次出现
(11)addslashes 使用反斜线引用字符串
0x08 PHP的全称是什么?
Hypertext Preprocessor(超文本预处理器)
0x09 如何从命令行界面运行交互式 PHP Shell
php -a
0x10 正确开始和结束 PHP 代码块的最常见的两种方式是什么?
<?php [ --- PHP code---- ] ?> and <? [--- PHP code ---] ?>
0x11 PHP 是否支持多重继承
PHP 只支持单继承。PHP 的类使用关键字 extends
继承另一个类
0x12 使用 final
修饰的类和方法代表什么意思?
final
是在 PHP5 版本引入的,它修饰的类不允许被继承,它修饰的方法不允许被重写。
0x13 PHP 中如何比较两个对象?
在 PHP 中,我们可以使用运算符 ==
来比较两个对象是否为同一个类的实例,并且拥有相同的属性和属性值。
还可以是使用运算符 ===
来比较两个对象是否引用了同一类的同一实例
0x14 include()
和 require()
在执行失败的情况下有什么不同?
include()
将会产生一个警告,不影响后续程序的执行。require()
将会产生一个致命错误,后续程序停止执行。
0x15 require () 和 require_once () 之间的主要区别是?
require () 和 require_once () 执行同样的任务,除了第二个函数在执行前检查 PHP 脚本是否已经包含
0x16 如何使用 PHP 脚本 连接 MySQL 数据库?
为了连接到 MySQL 数据库,必须使用 mysql_connect () 函数:
<!--?php $database = mysqli_connect("HOST", "USER_NAME", "PASSWORD"); mysqli_select_db($database,"DATABASE_NAME"); ?-->
0x17 如何在 PHP 脚本中定义常量?
define ("ACONSTANT", 123);
暂无评论