PHP array_filter】的更多相关文章

(PHP 4 >= 4.0.6, PHP 5, PHP 7) array_filter - 用回调函数过滤数组中的单元 (PHP 4 >= 4.0.6, PHP 5, PHP 7) array_filter - 用回调函数过滤数组中的单元 依次将 input 数组中的每个值传递到 callback 函数.如果 callback 函数返回 TRUE,则 input 数组的当前值会被包含在返回的结果数组中.数组的键名保留不变. 返回值 返回过滤后的数组 下面是一个例子: <?php $arr…
利用array_filter函数轻松去掉多维空值,而数组的下标没有改变, 如果自定义过滤函数返回 true,则被操作的数组的当前值就会被包含在返回的结果数组中, 并将结果组成一个新的数组.如果原数组是一个关联数组,键名保持不变 下面是举例用法: $array = array( 0 => '别再等', 1 => false, 2 => 1, 3 => null, 4 => '', 5 => 'http://www.biezaideng.com', 6 => '0' …
static function get_categoryII() { return array( array('id' => 1, 'c1id' => 1, 'name' => '1aaaa'), array('id' => 2, 'c1id' => 1, 'name' => '1bbb'), array('id' => 3, 'c1id' => 2, 'name' => '1bbbb'), array('id' => 4, 'c1id' =&g…
/** * array_filter 用回调函数处理数组中的各个元素, * 重点在于过滤(而不是新增)某个元素,当你处理到一个元素时, * 如果返回了false,那么这个元素将会被过滤掉.PS:保持了原来的索引. */$arr = array(1,2,3,'aaa'=>4,5); $newArr = array_filter($arr,function($val) { if ($val == 3) { return false; // 返回false 这个元素将要被过滤掉 } return tr…
$arr = array( "0"=> "564645", "1"=>"", "2"=>65464, "3"=> "" ) print_r(array_filter($arr)); 输出结果为 $arr = array( "0"=> "564645", "2"=>65464…
这是今天在做作业的时候遇到的一个问题,不知道大家有没有遇到同样的问题,就是去除数组中不符合我们条件的数据并且保留其键名. 言归正传: array array_filter ( array $input [, callback $callback ] ) array_filter() 依次将 input 数组中的每个值传递到 callback 函数.如果 callback 函数返回 TRUE,则 input数组的当前值会被包含在返回的结果数组中.数组的键名保留不变. 具体的使用方法我也研究了一下.…
array_filter($arr, 'filter_func'); //参数1,要过滤的数组 //参数2,过滤的函数,返回false时,不添加这个元素,返回true添加这个元素. 示例代码: /***********array_filter(用回调函数过滤数组中的单元)*****************/ $arr = array(); for ($i = 0; $i < 10; $i++) { array_push($arr, $i); } $arrOdd = array_filter($a…
array_map(function($v){return $v+1;}, $array); array_walk($array, function($v, $k){...}); array_filter($array, function($v){return true;}); 以上三者 相同点 都是利用回调函数对数组中每个元素进行操作. 不同点 返回值,回调函数的参数,是否改变数组的值 三个方面.  array_map 返回的是新数组,即原数组不变.  array_walk 返回的布尔值,如果…
[导读] 在我们开发过程中,判断数组为空时你会想到什么方法呢?首先想到的应该是empty函数,不过直接用empty函数判断为空是不对的,因为当这个值是多维数的时候,empty结果是有值的.其实我们可以利用array_filter函数 在我们开发过程中,判断数组为空时你会想到什么方法呢?首先想到的应该是empty函数,不过直接用empty函数判断为空是不对的,因为当这个值是多维数的时候,empty结果是有值的. 其实我们可以利用array_filter函数轻松去掉多维空值,而数组的下标没有改变,下…
定义和用法 array_filter() 函数用回调函数过滤数组中的元素,如果自定义过滤函数返回 true,则被操作的数组的当前值就会被包含在返回的结果数组中, 并将结果组成一个新的数组.如果原数组是一个关联数组,键名保持不变. 语法 array_filter(array,function) 参数 描述 array 必需.规定输入的数组. function 必需.自定义函数的名称. 例子 <?php function myfunction($v) { if ($v==="Horse&quo…
一直一维array_filter() 函数只能去除一维数组,其实这个函数也能去除多维数组: $arr =[ '0'=>array(), '1'=>'false', '2'=>'test', '3'=>'' ]; var_dump($arr); var_dump(array_filter($arr)); 最后发现所有的空值,包括array()空数组也没了,这个函数确实去除了所有的空值…
php数组array_filter函数和array_slice函数:<?php /* array_filter()用回调函数过滤数组中的单元 array_filter(array,function) 参数描述:如果自定义过滤函数返回 true,则被操作的数组的当前就会被包含在返回的结果数组中, 并将结果组成一个新的数组,如果原数组是一个关联数组,键名保持不变. */ function delEmpty($val) { <?php $arr = [1,2,3,4,false,null,'',fa…
<?php $arr=array( 1,2,3,4,5,6 ); function filter($var){ if($var%2==0) return true; } $data=array_filter($arr,"filter"); $data=array(2,4,6); ?> <?php $arr1=array('linux','Php','JAVA'); array_map('strtoupper',$arr1); ?>…
手册查询array_filter()的使用细节时,看到了:If no callback is supplied, all entries of input equal to FALSE (see converting to boolean) will be removed. 如果没有给出回调函数,所有的等于 FALSE 的元素将会被移除掉! 刚好可以用来移除数组中的空元素! 使用:$arr = array_filter($arr); <?php $arr=array(1,2,3,null,'',…
了一个类处理好友,其中有一个方法用来同步好友,而这个方法中需要从微博传来的关注列表和粉丝列表中,找到互相关注的用户,记录一下经验,主要还是关于回调函数. 按照我最初的理解,这样写就可以了 private function getMutualFromSina ($focusList) { return array_filter($focusList, "filterSinaList"); } private function filterSinaList ($value) { retur…
用回调函数过滤数组中的值 array_filter(array,callbackfunction); 返回过滤后的数组…
这几个方法都有遍历数组,操作的过程. 很容易搞混.尤其很多人养成的编程习惯都是使用foreach来循环遍历.. 就举个简单例子. $a = array( 0,1,2,3,4,5,6,7,8,9 ); function filter($v){ return $v == 0 ? true :false; } function map($v){ return $v == 0 ? 0 : 10; } // array_walk函数中,如果想直接作用于数组中的值,可以把$v,写成引用形式&$v funct…
array_map — Applies the callback to the elements of the given arrays (处理映射) array_filter — Filters elements of an array using a callback function      (过滤) <?phpfunction cube($n){    return($n * $n * $n);} $a = array(1, 2, 3, 4, 5);$b = array_map("…
<?php header('Content-type:text;charset=utf8'); $str = "%11111%22222%333333%"; $arr = explode('%',$str); print_r($arr); print_r(array_filter($arr)); ?>-------------------------------------------------- Array ( [0] => [1] => 11111 [2]…
当array_filter函数的callback留空时 他会过滤掉所有键值为false的键…
<?php /*数组(六)array_fill()array_filter()array_flip()array_key_exists()array_keys() */ /*1.array_fill()通过指定的索引顺序及个数生成数组 * */ function dump($arr){ print_r($arr); } /*$arr0=array_fill(30,2,'博客'); dump($arr0);*///输出:Array ( [30] => 博客 [31] => 博客 ) /*2…
<?php function test_odd($var) { return($var & 1); } $a1=array("a","b",2,3,4); print_r(array_filter($a1,"test_odd")); ?> 会返回 Array ( [3] => 3 ) 定义和用法 array_filter() 函数用回调函数过滤数组中的值. 该函数把输入数组中的每个键值传给回调函数.如果回调函数返回 tr…
[转]php 之 array_filter.array_walk.array_map的区别 原文:https://blog.csdn.net/csdnzhangyiwei/article/details/60761512. array array_filter ( array $input [, callback $callback ] ) array array_map ( callback $callback , array $arr1 [, array $... ] ) bool arra…
利用array_filter过滤数组空值 <?php $array = array( 0 => '霜天部落', 1 => false, 2 => 1, 3 => null, 4 => '', 5 => 'http://www.hzhuti.com', 6 => '0' ); print_r(array_filter($array)); /* 输出结果为: Array ( [0] => 霜天部落 [2] => 1 [5] => http://…
1.函数的作用:过滤数组中的值: 2.函数的参数: @params  array $array @params  callback $callback @params int $flag [ARRAY_FILTER_USE_KEY 和 ARRAY_FILTER_USE_BOTH] 3.注意点: 1)不要在回调中改变数组本身: 4. 例子一: <?php /* * 第二个元素是空格,并没有过滤掉 */ $arr = ['',' ',null,0,'0','\n','\t',-1,false]; p…
array_walk.array_map.array_filter  和 foreach 都有循环对数组元素进行处理的功能. 一.array_walk 用法 1.循环数组,回调处理(并不修改数组元素的值,而是跳出去做其他的事情[回调的定义]) 如: $arr = [ ['name' => 'A', 'age' => 18], ['name' => 'B', 'age' => 11], ]; array_walk($arr, function ($value) { //做其他的逻辑处…
定义和用法 array_filter() 函数用回调函数过滤数组中的元素. 该函数把输入数组中的每个键值传给回调函数.如果回调函数返回 true,则把输入数组中的当前键值返回给结果数组.数组键名保持不变. 语法: array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] ) array : 必需.规定要过滤的数组. callback : 可选.规定要用的回调函数 flag   可选.决定 callbac…
array_filter (PHP 4 >= 4.0.6, PHP 5, PHP 7) array_filter - 用回调函数过滤数组中的单元 说明 array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] ) 依次将 array 数组中的每个值传递到 callback 函数.如果 callback 函数返回 true,则 array 数组的当前值会被包含在返回的结果数组中.数组的键名保留不变. 参数…
//提取奇数 $filter = array_filter($ql,function($var){ return($var & 1); },ARRAY_FILTER_USE_KEY); print_r($filter); //提取偶数 $filter = array_filter($ql,function($var){ return(!($var & 1)); },ARRAY_FILTER_USE_KEY); print_r($filter); //参数说明 //ARRAY_FILTER_…
array_walk --- 使自定的函数能处理数组的每个元素 bool array_walk ( array &array, callback funcname [, mixed userdata] ) 如果成功则返回 TRUE,失败则返回 FALSE. 语法 : 将用户自定义函数 funcname 应用到 array 数组中的每个单元.典型情况下 funcname 接受两个参数.array 参数的值作为第一个,键名作为第二个.如果提供了可选参数 userdata,将被作为第三个参数传递给 c…