![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PHP语法
三月白丁
phper
展开
-
session_regenerate_id 和 session_id
session_regenerate_id(delete_old_session)会将旧session文件复制一份,并且重命名成新session文件。因为是复制操作,再不对新文件中的session数据修改的情况下,两份文件session数据相同。其中delete_old_session设置为true时,复制完成后,将删除旧session文件。session_id([st...原创 2020-03-28 11:06:55 · 751 阅读 · 0 评论 -
对称加密和非对称加密
一、简介:对称加密:加密和解密的秘钥使用的是同一个。非对称加密:加密需要公钥、私钥两种。“公钥加密,私钥解密;私钥加密,公钥解密”二、特点:对称加密:AES,DES,3DES,IDEA,Blowfish,RC4、RC5、RC6等。 在数据传送前,发送方和接收方必须商定好秘钥,然后双方都能保存好秘钥,使用该秘钥进行数据的加解密。 ...翻译 2019-12-29 11:13:56 · 409 阅读 · 0 评论 -
webservice xml soap
对外提供接口的2种常用实现方式:1、标准的http实现:http+json2、webservice实现:soap+xml+wsdl1、http协议和soap协议http协议:超文本传输协议。使用对参数进行编码并将参数作为键值对传递,还是用关联的请求语义。soap协议:简单对象访问协议。是基于http协议的,可以简单理解为:SOAP=RPC+HTTP+XML。soap将信息进行x...原创 2019-12-12 17:46:20 · 443 阅读 · 0 评论 -
php array_filter
一、array_filterarray_filter(array$array[,callable$callback[,int$flag= 0]] ) :array依次将array数组中的每个值传递到callback函数。如果callback函数返回 true,则array数组的当前值会被包含在返回的结果数组中。数组的键名保留不变。二、过...原创 2019-11-20 11:06:30 · 2501 阅读 · 0 评论 -
php clone 对象克隆
分享PHP手册上 关于对象克隆的例子<?phpclass SubObject{ static $instances = 0; public $instance; public function __construct() { $this->instance = ++self::$instances; } public...原创 2019-11-01 11:10:06 · 140 阅读 · 0 评论 -
PHP 数组合并array_merge 、 + 号 和 array_merge_recursive
一、array_merge 和 + 两种方式的数组合并区别1、索引数组 array_merge : 会合并两个索引数组全部的值,并重新生成索引 + : 用 + 合并索引数组,保留前一个数组的值,没有实际的意义//索引数组 $test = ['apple','pine','water']; $test1 = ...原创 2018-09-14 15:02:29 · 355 阅读 · 0 评论 -
PHP intval float -0 基本操作
最近在用PHPExcel批量导入数据的时候,遇到了这样一个问题:表格中有一行手机号码(mobile),一直报错,过不去正则验证。 确定正则无误过后,我用strcmp比较了这个excel表格里的手机号码、与我键盘输入的,确实是不一样的。怀疑是不是这个手机号码存在一些什么格式 ? 用EditPlus查看了一下16进制格式,发现excel表格里面的手机号码多了 \...原创 2018-09-20 10:31:19 · 613 阅读 · 0 评论 -
PHP 单例设计模式常见场景
单例应用场景1. Windows的Task Manager(任务管理器)就是很典型的单例模式,是不是呢,你能打开两个windows task manager吗? 2. windows的Recycle Bin(回收站)也是典型的单例应用。在整个系统运行过程中,回收站一直维护着仅有的一个实例。3. 网站的计数器,一般也是采用单例模式实现,否则难以同步。4. 应用程序的日志应用,一般都何...原创 2018-09-26 16:36:52 · 188 阅读 · 0 评论 -
PHP elseif/else if
elseif 与 else if 只有在条件后使用花括号的情况下才认为是完全相同。如果用冒号来定义 if/elseif 条件,那就不能用两个单词的 else if,否则 PHP 会产生解析错误。/* 不正确的使用方法: */if($a > $b): echo $a." is greater than ".$b;else if($a == $b): // 将无法编译 ...原创 2018-12-14 11:29:25 · 577 阅读 · 0 评论 -
极验SDK 的post get crul
1、get方式 private function get_request($url) { if (function_exists('curl_exec')) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_s...原创 2019-01-14 10:12:53 · 330 阅读 · 0 评论 -
is_file和file_exists效率比较
今天在做文件缓存,用到文件路径判断,看到一个文章,原文地址:https://www.cnblogs.com/xuan52rock/p/4548635.html<?php$start_time = get_microtime();for($i=0;$i<10000;$i++)//默认1万次,可手动修改{if(is_file('test.txt')) {//do nothi...原创 2019-01-09 13:53:55 · 937 阅读 · 0 评论 -
php、js 两种语言中, 对象、数组
一直不太清楚js中对象、数组和PHP 数组之间的关系,今天查了一些资料整理了一下,有错误的地方还请大家指出。在PHP 中,数组分为两种//索引数组,以数字为键的数组,键从0开始自增$arr = [1,2,3,4];//关联数组,指一个键对应一个值,并且这个键(id,name)是不规律的,通常由我们自己指定$list = ['id'=>1,'name'=>'小华'];...原创 2019-02-15 13:06:04 · 371 阅读 · 0 评论 -
语法小技巧-哨兵
顺序查找:function sortArr(&$arr){ $tmp = ''; $total = count($arr); $lastIndex = $total - 1; for($i=0; $i<$total; $i++){ //优化每次循环时,判断下标是否越界,采用哨兵 if ($i !== $la...原创 2019-07-23 11:57:15 · 280 阅读 · 0 评论 -
PHP 获取 ip 地址
REMOTE_ADDR 是你的客户端跟你的服务器“握手”时候的IP。如果使用了“匿名代理”,REMOTE_ADDR将显示代理服务器的IP。 HTTP_CLIENT_IP 是代理服务器发送的HTTP头。如果是“超级匿名代理”,则返回none值。同样,REMOTE_ADDR也会被替换为这个代理服务器的IP。$_SERVER['REMOTE_ADDR']; //访问端(有可能是用户,有可能是代理的)...原创 2018-09-14 10:31:01 · 278 阅读 · 0 评论 -
利用PHPExcel导出数据,下载excel文件正常,打开报错:'break' not in the 'loop' or 'switch' context
今天有一个需求,是利用phpexcel类导出数组为excel文件并下载,我本地用的是phpstudy环境:php版本7.1.13下载文件正常,但是导出的excel文件里面是报错信息 如下:于是我找到了Functions 发现 break 写在了return后面,导致报错了解决方法:1、删除break 2、要么降低版本到5.x ,或者升级到更高版本 。不过很奇怪的...原创 2018-07-11 11:25:01 · 1733 阅读 · 2 评论 -
被忽略的switch
switch(0){ case '一': echo '星期一'; break; case '二': echo '星期二'; break; case '三': echo '星期三'; break;}这个输出什么呢?没错!输出星期一因为传进来的是数字类型的0,会自动将 字符串‘一’ 转成数字,即0 如果传进来的时候是 switch('0') 就什...原创 2018-07-23 15:12:23 · 174 阅读 · 0 评论 -
谈一谈php://input和php://output
那天用 PHPExcel 类导出excel 文件的时候就遇到了这个 php://output ,看到这篇文章介绍的很详细,于是转载过来,自己总结学习下php://input和php://output。原文链接:https://blog.csdn.net/qq_27682041/article/details/73326435#comments一、php://output它是一个只写数据流,...原创 2018-07-18 10:07:18 · 6391 阅读 · 0 评论 -
explode函数中的一点小坑
之前写代码,凡是遇到用explode切割的地方,我都会提前判断一下 :切割符存不存在与字符串中,如果不存在就不切割。例如: 之后的某天我听到一种说法【1】是:可以不提前判断@是否存在,如果不存在切割符,切出来就会为空,当时没有验证。但是 !!! 今天我改别人写的代码就遇到这个问题了,相关...原创 2018-07-27 16:21:14 · 1508 阅读 · 1 评论 -
curl post请求 , postman 模拟请求 , 在线测试工具模拟请求
1、curl发送post 请求 function curl_post($url = '', $param = '') { if (empty($url) || empty($param)) { return false; } $postUrl = $url; $curlPost = $param; ...原创 2018-08-09 11:05:49 · 10435 阅读 · 0 评论 -
php date函数
1、echo date('Y-m-d h:i:s',(time() - 3600)); 2、echo date('Y-m-d H:i:s',(time() - 3600)); 大写Y:输出24小时制,小写y:输出12小时制的时间原创 2018-08-09 15:44:41 · 650 阅读 · 0 评论 -
CURLINFO_HTTP_CODE 505 PHP
curl请求别人的一个接口,出现下面的状况,HTTP返回5051、请求参数带空格2、用浏览器可识别的符号代替请求参数中的空格 url出现了有+,空格,/,?,%,#,&,=等特殊符号的时候,可能在服务器端无法获得正确的参数值我们将这些字符转化成服务器可以识别的字符+ URL 中+号表示空格 ...原创 2018-08-10 10:22:08 · 2644 阅读 · 0 评论 -
PHP 的签名认证
这两天在做第三方的签名验证,在网上看到一篇帖子还不错,分享给大家。我也是借鉴了这个思路,然后利用redis缓存的token,进行接口的验证<?php /** * 签名认证算法 * HMAC-SHA256加密方式 * 登录认证加入access_token:access-token通过登录接口去获取,通过刷新接口去刷新,需要注意返回的过期时间,要在过期时间之前刷新重新获取ac...原创 2018-08-01 14:57:46 · 518 阅读 · 4 评论 -
ThinkPHP框架下使用php-jwt生成加密字符串保存用户基本信息替代session保存用户信息
转自 https://blog.csdn.net/bdl13588302605/article/details/813910031.JWT存放在ThinkPHP类库中的路径(截图所示即为需要用到的2个php文件) 2.JWT文件夹下的文件说明:1).JWT.php 功能①:根据用户基本信息、过期时间、秘钥生成时间等信息生成一个加密字符串(token)功能②:根据客户端...原创 2018-08-14 10:53:57 · 4751 阅读 · 0 评论 -
正则匹配多个img标签,下载匹配到的图片到本地服务器,并替换原图片地址
<?php //$contents:包含<img>标签的原字符串、$replaceStr:替换后的字符串 if(strstr($contents,'<img')) { $pregRule = "/<[img|IMG].*?src=[\'|\"](.*?(?:[\.jpg|\.jpeg|\.png|\.gif|\.bmp]))[\'|\"].*?...原创 2018-08-08 18:27:47 · 1815 阅读 · 0 评论 -
PHP 中的const 和 define
函数define()定义的常量是在执行define()函数时定义的,const关键字定义的常量是在编译时定义的。因此define()可以在函数内、循环内、if语句内等函数能够被调用的任何地方使用define()函数定义常量,但是const关键字定义常量必须处于最顶端的作用区域,这也就意味着不能在函数内、循环内以及if语句之内用const来定义常量。1、在if条件语句中const定义常量报错...原创 2018-08-23 16:36:17 · 274 阅读 · 0 评论 -
PHP 中的 array_fill_keys 和 array_fill
1、使用指定的键和值填充数组 array_fill_keys array array_fill_keys ( array $keys , mixed $value )生成一个长度为n的数组,且值都为a 2、用给定的键值填充数组 array_fill array array_fill(index,number,value); ...原创 2018-08-23 17:15:34 · 348 阅读 · 0 评论 -
PHP 中 foreach和for循环哪个效率更高
今天看别人的代码,有段代码是对一个二维数组中的数据进行处理,那个作者用的是for循环,但是我感觉用 foreach 也可以。所以就想问问看在PHP中 for 循环和 foreach 哪个更快。for循环遍历(count在内部): $big_Array = range(0,1000000,1); $start_For_Time = microtime_float(); ...原创 2018-05-23 14:05:50 · 9376 阅读 · 2 评论