PHP
文章平均质量分 64
PHP知识,喜欢就点赞收藏吧
清风169
这个作者很懒,什么都没留下…
展开
-
不同时区的时间互相转换
<?php/** * @param string $dateTime 时间,如:2020-04-22 10:10:10 * @param string $fromZone 时间属于哪个时区 * @param string $toZone 时间转换为哪个时区的时间 * @param string $format 时间格式,如:Y-m-d H:i:s * 时区选择参考:ht...原创 2020-04-26 14:52:59 · 730 阅读 · 0 评论 -
一个preg_replace()参数均为数组多次替换的实例理解
preg_replace(mixed$pattern,mixed$replacement,mixed$subject[,int$limit= -1[,int&$count]] ) :mixed<?php$subject = array('1', 'a', '2', 'b', '3', 'A', 'B', '4');$pattern = a...转载 2019-10-17 11:47:17 · 576 阅读 · 0 评论 -
PHP命令行脚本接收传入参数的三种方式
转自:https://www.cnblogs.com/wangzehuaw/p/6201588.html通常PHP都做http方式请求了,可以使用GET or POST方式接收参数,有些时候需要在shell命令下把PHP当作脚本执行,比如定时任务。这就涉及到在shell命令下如何给php传参的问题,通常有三种方式传参。一、使用argvorargvorargv or argc参数接收复制代码代...转载 2018-07-12 13:14:59 · 4463 阅读 · 0 评论 -
获取当前主机、域名、网址、路径、端口和参数等
判断请求协议(http还是https)$http_type= ((isset($_SERVER['HTTPS'])&& $_SERVER['HTTPS'] == 'on') || (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https'...原创 2018-09-17 14:30:35 · 2541 阅读 · 0 评论 -
URL函数
string base64_decode ( string $data [, bool $strict = false ] )对 base64 编码的 data 进行解码。参数data 编码过的数据。strict 当设置 strict 为 TRUE 时,一旦输入的数据超出了 base64 字母表,将返回 FALSE。 否则会静默丢弃无效的字符。返回值 返回原始数据, 或...原创 2018-09-26 13:16:09 · 1423 阅读 · 0 评论 -
SimpleXML
解析xml的三个函数1、simplexml_load_stringSimpleXMLElementsimplexml_load_string(string$data[,string$class_name= "SimpleXMLElement"[,int$options= 0[,string$ns= ""[,bool$is_prefix=FALSE...原创 2018-10-10 13:17:00 · 1119 阅读 · 1 评论 -
令人困惑的strtotime
经常会有人被strtotime结合-1 month, +1 month, next month的时候搞得很困惑, 然后就会觉得这个函数有点不那么靠谱, 动不动就出问题. 用的时候就会很慌…今天是2018-07-31 执行代码:date("Y-m-d",strtotime("-1 month"))怎么输出是2018-07-01?我们来模拟下date内部的对于这种事情的处理逻辑:...转载 2018-10-22 22:53:46 · 180 阅读 · 0 评论 -
PHPExcel替代方案PhpSpreadsheet
PHPExcel上一版本1.8.1于2015年发布。该项目已不再维护,可以使用,但是不建议再使用。所有用户都应该迁移到其直接后继者PhpSpreadsheet或其他替代方案。PhpSpreadsheet打破了兼容性,大大提高了代码库质量(命名空间,PSR合规性,最新PHP语言功能的使用等)。文档地址:https://phpspreadsheet.readthedocs.io/en/develo...原创 2018-12-20 13:06:03 · 10181 阅读 · 0 评论 -
php处理html的几个函数
目录htmlspecialchars —— 将特殊字符转换为 HTML 实体htmlentities — 将字符转换为 HTML 转义字符htmlspecialchars_decode — 将特殊的 HTML 实体转换回普通字符html_entity_decode — 把 HTML 实体转换为字符。get_html_translation_table — 返回使用 htmlsp...原创 2019-01-28 15:42:16 · 3450 阅读 · 0 评论 -
比较运算符
如果比较一个数字和字符串或者比较涉及到数字内容的字符串,则字符串会被转换为数值并且比较按照数值来进行。此规则也适用于 switch 语句。<?phpvar_dump(0 == "a"); // 0 == 0 -> truevar_dump("1" == "01"); // 1 == 1 -> truevar_dump("10" == "1e1"); // 10 == ...原创 2019-04-22 12:02:12 · 270 阅读 · 0 评论 -
匿名函数以及use
<?php$message = 'hello';// 没有 "use"$example = function () { var_dump($message);};echo $example(); // Notice: Undefined variable: message in xxx.php; null// 继承 $message$example = funct...原创 2019-04-23 22:18:27 · 293 阅读 · 1 评论 -
对数组进行排序
函数名称 排序依据 数组索引键保持 排序的顺序 相关函数 array_multisort() 值 键值关联的保持,数字类型的不保持 第一个数组或者由选项指定 array_walk() asort() 值 是 由低到高 arsort() arsort() 值 是 由高到低 asort() ...转载 2019-05-10 17:41:16 · 2058 阅读 · 0 评论 -
preg_match和preg_match_all()
preg_match—执行匹配正则表达式preg_match(string$pattern,string$subject[,array&$matches[,int$flags= 0[,int$offset= 0]]] ) :int参数 是否必须 说明 pattern 是 要搜索的模式 subject 是...原创 2019-06-06 01:39:13 · 4215 阅读 · 0 评论 -
魔术常量
请参考魔术常量几个 PHP 的“魔术常量” 名称 说明 __LINE__ 文件中的当前行号。 __FILE__ 文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。自 PHP 4.0.2 起,__FILE__总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径),而在此之前的版本有时会包含一个相对路径。 __DIR__ 文件所在的目录...原创 2019-07-09 23:52:29 · 470 阅读 · 0 评论 -
microtime和time
microtime如果调用时不带可选参数,本函数以 "msec sec" 的格式返回一个字符串,其中 sec 是自 Unix 纪元(0:00:00 January 1, 1970 GMT)起到现在的秒数,msec 是微秒部分。字符串的两部分都是以秒为单位返回的。按照格林威治时间计算time返回当前的 Unix 时间戳(自 Unix 纪元(0:00:00 January 1, 1970 ...原创 2018-07-18 11:51:13 · 3566 阅读 · 0 评论 -
一维数组生成树形结构
Tree.php<?phpclass Tree{ //要处理的数组 private $arrSource = array(); //配置 private $config = array( 'key' => 'id', //主键 'pKey' => 'pid', //主键父级名称 'child...原创 2018-07-17 16:29:37 · 2368 阅读 · 0 评论 -
PHP浮点数运算不准确的问题
echo intval(0.58*100);//结果为57echo intval((0.1 + 0.7) * 10);//结果为7产生这样的原因是计算机内部对部分浮点数不能准确地用二进制表示,就像我们不能用十进制准确表示10/3一样.浮点数在计算机内部的表示:IEEE 754.不懂的自己查找资料也可以参考一下鸟哥这篇文章:http://www.laruence.com/2013/0...原创 2018-07-04 13:51:08 · 7072 阅读 · 0 评论 -
浅析json_encode
作用:对变量进行 JSON 编码语法: string json_encode ( mixed $value [, int $options = 0 [, int $depth = 512 ]] )value :除了resource 类型之外,可以为任何数据类型。所有字符串数据的编码必须是 UTF-8。options:由以下常量组成的二进制掩码:JSON_HEX_QUOT,JSO...原创 2018-03-10 14:33:04 · 6396 阅读 · 0 评论 -
PHP常用函数总结
本文转载于:http://blog.csdn.net/yanglr2010/article/details/52504810 本文源文件(markdown): https://github.com/yanglr/AlgoSolutions/blob/master/PHP常用函数总结(160多个).md数学函数1.abs(): 求绝对值$abs = abs(-4.2); ...转载 2018-03-10 23:29:12 · 416 阅读 · 0 评论 -
Closure::bind 复制一个闭包,绑定指定的$this对象和类作用域。
public static Closure Closure::bind ( Closure $closure , object $newthis [, mixed $newscope = 'static' ] )参数说明:分别是函数-对象-范围 $closure 需要绑定的匿名函数 $newthis 需要绑定到匿名函数的对象,或者 NULL 创建未绑定的闭包。(个...原创 2018-03-29 18:58:42 · 387 阅读 · 0 评论 -
把base64格式图片上传到服务器后保存起来
$base64_string = "data:image/png;base64,/9j/4AAQSkZJRgABAQA...“这个是图片转化为base64的字符串,但是有时候客户端上传到服务器端的时候,会变成$base64_string = "[removed],/9j/4AAQSkZJRgABAQA...“,所以为了恢复全部数据,我们可以通过$base64_string=str_replace(...原创 2018-03-14 01:21:37 · 9801 阅读 · 0 评论 -
钩子和行为
说明:用的是ThinkPHP5.1.5版本.这里是把tp5.1文档里面说不清楚的地方说明白了,配合官方完全开发手册看,就一目了然了.来战吧,嘿嘿嘿要设置一个钩子,只需要在相关的位置添加一行代码(事先需要引入think\facade\Hook类):use think\facade\Hook;步骤:一:在tags.php文件下定义行为名称如果应用目录下面和模块目录下面的tags.php都定义了app_...原创 2018-03-30 15:43:28 · 540 阅读 · 0 评论 -
ThinkPHP定义中间件
说明:VERSION = 5.1.7切换到项目所在的目录,比如我的是C:\software\wamp64\www\tp5.1.7,然后执行命令php think make:middleware Check回车后这个指令会在 application/http/middleware目录下面生成一个Check中间件...原创 2018-03-30 18:20:16 · 6640 阅读 · 6 评论 -
分层控制器
版本:5.1.7官方文档:https://www.kancloud.cn/manual/thinkphp5_1/353983先定义再在正常的控制器调用结果如下:原创 2018-04-11 00:09:50 · 954 阅读 · 0 评论 -
ThinkPHP资源控制器
版本:5.1.8官方说明:https://www.kancloud.cn/manual/thinkphp5_1/353984进入的是对应的项目,而不是thinkphp核心目录,然后执行命令行php think make:controller app\index\controller\Blog生成的目录结构如下,当然,自动生成的方法体都是空的,index里面的方法体return "hello wor...原创 2018-04-12 00:12:22 · 1473 阅读 · 0 评论 -
关键词 class 也可用于类名的解析 ClassName::class
使用 ClassName::class 你可以获取一个字符串,包含了类 ClassName 的完全限定名称。这对使用了 命名空间 的类尤其有用。<?phpnamespace NS { class ClassName { } echo ClassName::class;}//结果:NS\ClassName...原创 2018-03-29 16:08:35 · 1767 阅读 · 0 评论 -
thinkphp响应输出
版本:5.1.10系统会根据default_return_type(普通请求,默认是html)和default_ajax_return(ajax请求,默认是json)配置自动决定响应输出的类型。文档地址:https://www.kancloud.cn/manual/thinkphp5_1/353994namespace app\index\controller;class Index{ ...原创 2018-04-18 00:29:32 · 2512 阅读 · 0 评论 -
PHP中使用CURL实现请求
PHP建立CURL请求的基本步骤①:初始化curl_init()②:设置属性curl_setopt().有一长串cURL参数可供设置,它们能指定URL请求的各个细节。如果需要,可以设置CURLOPT_TIMEOUT 允许 CURL 函数执行的最长秒数。curl_setopt($curl, CURLOPT_TIMEOUT, 20);//设置curl函数最大请求时间为20秒...原创 2018-04-21 23:19:48 · 790 阅读 · 0 评论 -
回调函数和数组
array_filter(),array_map() ,array_reduce(),array_walk()的用法比较array_filter — 用回调函数过滤数组中的单元说明:array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )依次将 array 数组中的每个值传递到 callb...原创 2018-04-14 00:56:55 · 1612 阅读 · 0 评论 -
后期静态绑定
后期静态绑定工作原理是存储了在上一个“非转发调用”(non-forwarding call)的类名。当进行静态方法调用时,该类名即为明确指定的那个(通常在 :: 运算符左侧部分);当进行非静态方法调用时,即为该对象所属的类。所谓的“转发调用”(forwarding call)指的是通过以下几种方式进行的静态调用:self::,parent::,static:: 以及 forward_static_...原创 2018-06-13 15:57:51 · 217 阅读 · 0 评论