简单来说就是值倒排,有些场景要用,一般面试也见过让自写这个逻辑的,代码如下:

<?php
$arr = array(1,2,3);
$arr = array_reverse($arr);
print_r($arr);

输出结果:

Array
(
[0] => 3
[[......]

阅读全文

这个问题的发现是因为有个转发接口,转发时出现了异常。仔细核对后发现,是参数值存在空格,而转码使用了urlencode所致。

搜了下资料,没想到这两个函数确实对空格存在区别:

urlencode会将空格转为+。
rawurlencode则会将空格转为%20。

很明显,ra[……]

阅读全文

有个需求,就是要是用正则去除html标签里的onclick的部分,那么如何实现呢?

示例代码如下:

<?php
$content = "<a onclick=\"alert('message')\" href=\"http://ex[......]

阅读全文

有的时候,我们知道MongoDB的查询json是什么样的,但是到PHP的数组中,就很容易写错了。

比如:$elemMatch这个查询操作符。

$elemMatch 数组查询操作用于查询数组值中至少有一个能完全匹配所有的查询条件的文档。语法格式如下:

{ <field[......]

阅读全文

有时下载站需要PHP使用header方法发送Content-Length给客户端,但是通过封包抓取会发现响应头并未包含Content-Length,从而使一些客户端下载无法识别正确的文件大小。
那么Content-Length无效如何解决呢?

解决方法也很简单,添加一个Conten[……]

阅读全文

很久以前总结果:PHP-遍历目录代码示例

事实上,用DirectoryIterator可以更优雅的实现。

DirectoryIterator类提供了一个用于查看文件系统目录内容的简单接口。

相关的方法:

方法名函数提供什么目录信息?

阅读全文

用Yii2框架的时候,guzzleHttp的request时,如下catch:

} catch (Exception $exception) {

这样catch的刷,如果请求异常,是会直接终止的。正确的catch方式应当使用:

} catch (GuzzleHttp\Except[......]

阅读全文

有个需求,假设我们有个下载列表,需要遍历文件大小,但是不实际下载,如何处理呢?以下给出PHP curl 检测下载文件大小示例代码:

<?php
function getsize($url)
{
ob_start();
$ch = curl_init($url);

阅读全文

首先你得装好SonarLint插件,没装的参考:PhpStorm安装SonarLint插件与默认检测示例。

对接服务器方法如下:

  1. 点击SonarLint界面的配置按钮

    1 点击SonarLint界面的配置按钮

  2. 点Configure the connection
  3. 点击右侧加号
  4. 填写相[……]

阅读全文

PHP如何接收POST过来的json数据呢?示例代码如下:

<?php
if (empty($_POST)) {
$content = file_get_contents('php://input');
$post = json_decode($content,[......]

阅读全文