`
化蝶自在飞
  • 浏览: 2333793 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
社区版块
存档分类
最新评论

php函数array_filter()过滤php空数组_php去掉空数组_数组键名重置序列化

    博客分类:
  • php
PHP 
阅读更多
之前判断数组中元素是否为空的时候,一般用foreach,因为具体应用中多是要foreach,其实如果单纯的过滤php空数组的话,可以使用 php函数array_filter() .

array array_filter ( array [, callback callback] )

array_filter() 依次将 array 数组中的每个值传递到 callback 函数。如果 callback 函数返回 TRUE,则 array 数组的当前值会被包含在返回的结果数组中。数组的键名保留不变。

如果没有提供 callback 函数,array_filter() 将删除 array 中所有等值为 FALSE 的条目.这也就是过滤数组空白元素的精华所在.
如下例:
<?php
$entry = array(
             0 => '极速影院',
             1 => false,
             2 => 1,
             3 => null,
             4 => '',
             5 => 'http://www.15ms.com',
             6 =>'0'
          );
print_r(array_filter($entry));
?> 

上面代码输出结果为:
Array
(
    [0] => 极速影院
    [2] => 1
    [5] => http://www.15ms.com
)

可以看出,false,null,和真正的''空白以及0都被过滤了,而且数组的下标没有改变.

这样就引申出来一个新问题,如果我想对array_filter()处理过的新数组的键名序列化成0,1,2,3这样的怎么办呢?这在数组比较中是很有用的,那么需要用到 php的sort()函数.

bool sort ( array &array [, int sort_flags] )

本函数对数组进行排序。当本函数结束时数组单元将被从最低到最高重新安排。

注意: 本函数为 array 中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序。

如果成功则返回 TRUE,失败则返回 FALSE。

<?php
$my_array = array("0" => "极速影院", "2" => "1", "5" => "http://www.15ms.com");
sort($my_array);
print_r($my_array);
?>


输出结果为:
Array
(
    [0] => 1
    [1] => http://www.15ms.com
    [2] => 极速影院
)


有序化以后就可以进行大小比较了,这在纯数字且需要比较大小的数字中是十分有效的.
分享到:
评论
1 楼 gauspican 2011-11-07  
兄弟,sort那个,直接用array_values不行吗,另外,"有序化以后就可以进行大小比较了,这在纯数字且需要比较大小的数字中是十分有效的." 没想到有什么应用场景,能举个例子吗?

相关推荐

    php中使用array_filter()函数过滤空数组的实现代码

    在PHP编程语言中,`array_filter()` 是一个非常实用的内置函数,用于过滤数组中的元素。根据提供的描述和代码示例,我们可以深入了解`array_filter()`如何处理数组中的空元素,并探讨其在实际应用中的作用。 `array...

    php数组合并 array_merge-php函数__2.docx

    - 当使用`array_merge`合并包含相同键名的数组时,后面的数组中的值会覆盖前面数组中的值。 - 对于无索引数组,合并后的新数组会重新分配索引。 - 在处理二维数组时,`array_merge`只会合并最外层的数组。 - 使用...

    php随机选择数组内容 array_rand-php函数_.docx

    本文主要关注`array_rand`函数和`array_merge_recursive`函数,这两个函数分别用于从数组中随机选取元素和递归地合并两个或多个数组。 首先,让我们详细了解`array_rand`函数。这个函数用于从数组中随机选择一个或...

    php数组函数序列之array_key_exists() - 查找数组键名是否存在

    PHP作为服务器端脚本语言,其数组处理功能非常强大,其中array_key_exists()函数是PHP提供的用于判断数组中是否存在某个键名的函数。该函数自PHP 4.0.7版本起提供,是常用的数组键名存在性检查工具。 该函数定义...

    PHP 数组的常用函数

    还可以使用`array_map()`对数组的每个元素应用回调函数,`array_filter()`过滤数组中的元素,`array_reduce()`将数组简化为单个值,`array_column()`从多维数组中提取一列。 了解和熟练掌握这些PHP数组函数,将使你...

    PHP 数组 for foreach 循环 array_column函数.rar

    `for`和`foreach`循环是处理数组的两种主要方式,而`array_column`函数则是一个强大的工具,允许我们从多维数组中提取特定列的数据。 1. **for循环**:在PHP中,`for`循环通常用于迭代已知次数的情况。它的语法结构...

    php通过array_unshift函数添加多个变量到数组前端的方法

    在PHP编程语言中,array_unshift() 函数是一个非常实用的内置函数,它用于将一个或多个元素添加到数组的开头。在本篇文章中,我们将深入了解如何使用array_unshift()函数将多个变量添加到数组的前端,掌握其使用技巧...

    php数组函数序列 之array_count_values() 统计数组中所有值出现的次数函数

    函数返回一个新的数组,其中的键是输入数组 `$array` 中的唯一值,对应的值则是这些唯一值在原始数组中出现的次数。 ### 2. 示例 以下是一些使用 `array_count_values()` 的示例: ```php &lt;?php $a = array("Cat...

    php数组函数序列之array_keys() - 获取数组键名

    3. **数据过滤**:可以结合`array_filter()`或其他数组处理函数,根据键名进行数据过滤或重组。 4. **键名排序**:获取键名数组后,可以使用`sort()`、`rsort()`等函数对键名进行排序,从而间接实现数组的键排序。 ...

    php array_filter除去数组中的空字符元素

    数组操作是PHP编程中的常见任务,例如合并数组(`array_merge`)、排序数组(如使用`asort`, `arsort`, `ksort`, `krsort`等)、查找数组元素(`in_array`, `array_search`)以及获取数组的键名(`array_keys`)等。...

    php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】

    - `array_filter()` 用于过滤数组元素,根据回调函数的结果决定哪些元素保留。 以上就是PHP中一些常见的数组操作函数的实例和解析。了解并熟练掌握这些函数,对于编写高效、灵活的PHP代码至关重要。在实际编程中,...

    php array_walk() 数组函数

    它允许程序员对数组的每个元素应用一个用户自定义的回调函数,从而实现对数组的定制化处理。下面我们将深入探讨 `array_walk()` 的相关知识点。 ### 1. 函数语法 `array_walk()` 的基本语法如下: ```php bool ...

    php数组函数array_push()、array_pop()及array_shift()简单用法示例

    本文实例讲述了php数组函数array_push()、array_pop()及array_shift()简单用法。分享给大家供大家参考,具体如下: &lt;?php /** * array_push()将一个或多个单元压入数组的末尾(入栈) */ $stack = array(Java, ...

    PHP合并数组函数array_merge用法分析

    在合并过程中,如果遇到相同的字符串键名,`array_merge()`会使用后面数组中的值覆盖前面数组的值。而如果数组包含数字索引的键名,后面的值不会覆盖原来的值,而是被附加到后面。 以下是一个简单的`array_merge()`...

    php 数组字符串搜索array_search技巧

    php 搜索数组字符串我们一般会用到array_search和in_array两个函数 array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。 但是array...

    巧用php中的array_filter()函数去掉多维空值的代码分享

    这个结果表明,`array_filter()`成功地去掉了数组中的`false`、`null`、空字符串(`""`)和零(`'0'`),只保留了非空和非`false`的值。 需要注意的是,`array_filter()`不会改变原数组的键,即使原数组是关联数组...

    php中array_slice和array_splice函数解析

    在PHP中,数组操作是常见的编程任务,而`array_slice`和`array_splice`两个函数则是处理数组时非常有用的工具。它们都允许开发者从数组中提取一部分数据,但各有不同的功能和使用场景。 首先,`array_slice`函数...

    php array_map array_multisort 高效处理多维数组排序

    其中键索引为要排序数组的索引,保证唯一性 2 利用排序函数sort等对$arrSort进行排序. 3 遍历$arrSort, 根据其索引,获取多维数组的数据,重新构造排序后的多维数组. 复制代码 代码如下:Array ( [0] =&gt; Array ( [link]...

    php自定义二维数组排序函数array_orderby用法示例

    最后,`array_orderby` 函数通过 `call_user_func_array()` 调用 `array_multisort()`,并返回排序后的数据数组。这使得排序后的结果可以直接用于进一步的处理或输出。 在提供的示例中,创建了一个包含书籍信息的二...

Global site tag (gtag.js) - Google Analytics