官网说明: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) . ';');
可以新建一个文件,然后用到的时候可以加载里面的数组。
好了,就到这里了。
网友评论