今天看到了这个函数,说实话,没有系统学习过PHP或者一门语言的缺点就在于你了解的并不全面,只有在你需要某个功能的时候才回去了解某个函数,所以系统学习还是比较重要的。
这个函数的相关说明如下: [php index="" url="https://www.php.net/manual/zh/function.array-filter.php" unique_number="php_762d984bc5d940318299a9652bfcdf8c"]
同时,官方给出了比较详细的例子可以进行了解:
1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5]; $array2 = [6, 7, 8, 9, 10, 11, 12]; echo "Odd :\n"; print_r(array_filter($array1, "odd")); echo "Even:\n"; print_r(array_filter($array2, "even")); ?>
以上代码的返回值:
Odd : Array ( [a] => 1 [c] => 3 [e] => 5 ) Even: Array ( [0] => 6 [2] => 8 [4] => 10 [6] => 12 )
我这里从不专业的角度以及个人角度将自己的理解描述一下。
我们知道array_filter第二个参数是调用一个函数的,最后根据这个函数的真假来进行筛选的,那么这个功能函数按照上面的例子对应的就是function odd() 以及function even(),而这两个功能函数的作用分别是判断是否为奇数、是否为偶数,判断的数值就是$array1里面的1、2、3、4、5,将这五个数值一个个的丢到功能函数中去处理,如果函数返回的是true,则进行保留,否则进行删除。,最后,将保留下来的数值重新组成一个新的数组,最后组成的数组,其键值是不会进行改变的,这点需要注意。
如果我说的哪里有问题或者哪里不明白,欢迎交流。