php array_filter和var_export

官网说明:array_filter — 用回调函数过滤数组中的单元,然后官网的例子,惨不忍睹。不过,不看官网和瞎子没有什么区别。
http://php.net/manual/zh/function.array-filter.php

array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )

看他第三个参数的介绍。

flag决定callback接收的参数形式:
ARRAY_FILTER_USE_KEY - callback接受键名作为的唯一参数
ARRAY_FILTER_USE_BOTH - callback同时接受键名和键值

我是用PHP7来实验的。

可以去这个地址尝试 http://www.shucunwang.com/RunCode/php7/

function hehe($v){
    return preg_match('/[a-z]/',$v);
}

$array1 = array(0=>'ada','xxx'=>'xxx');
var_export(array_filter($array1, 'hehe', ARRAY_FILTER_USE_KEY));

结果:

我是结果.jpg

然后我把flag改成ARRAY_FILTER_USE_BOTH

额~.jpg

之后再改成$array1 = array(0=>1111,'xxx'=>'xxx');

好.jpg

结论:以后在php7的环境下,可以array_filter 写正则过滤某些黑科技的东西。

下面介绍var_export,就是打印。
http://php.net/manual/zh/function.var-export.php
不过它的第二个参数,可以搞出一些很有用的东西。
官网说的:您可以通过将函数的第二个参数设置为 **TRUE
**,从而返回变量的表示。
就是加了 TRUE之后,不输出,可以存到一个变量里面去
举例子:

$array1 = array(0=>1111,'xxx'=>'xxx');
file_put_contents('xxx.php', '<?php return' . var_export($array1,TRUE) . ';');

可以新建一个文件,然后用到的时候可以加载里面的数组。
好了,就到这里了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容