本文为代码分享,也是在工作中看到一些“大牛”的代码,做做分享。
具体是这样的,如下一个二维数组,是从库中读取出来的。
代码清单:
- $user = array(
- 0 => array(
- 'id' => 1,
- 'name' => '张三',
- 'email' => 'zhangsan@sina.com',
- ),
- 1 => array(
- 'id' => 2,
- 'name' => '李四',
- 'email' => 'lisi@163.com',
- ),
- 2 => array(
- 'id' => 5,
- 'name' => '王五',
- 'email' => '10000@qq.com',
- ),
- ......
- );
上面的数组格式,主要大家玩过 PHP+MYSQL,就肯定非常熟悉了。
那么,现在有这样的两个需求:
1)获取索引"id"的集合,并且保存为一个一位数组,即得到 array(1,2,5)
不知道各位朋友会怎么写呢?
如果是以前我的写法就是直接 foreach,然后 array_push 一个个的往一个数组变量里塞。这样也能实现。但这样的写法很影响性能,因为使用 PHP 原生的函数肯定比循环效率高。
代码清单:
- $ids = array();
- $ids = array_map('array_shift', $user);
如上代码就可以得到我们想要的结果了,关于函数的使用想看手册。
其实这里面还有一种方案,使用 array_column 函数,不过此函数需要 PHP 版本要求,(PHP 5 >= 5.5.0)
代码清单:
- $ids = array();
- $ids = array_column($user, 'id');
这样的话,效率肯定会更高了。
2)获取索引"name"的集合,并且保存为一个一位数组,即得到 array('张三','李四',‘王五’)
按照,我以往的写法,还是一样的foreach,然后 array_push 一个个的往一个数组变量里塞。请看高效率的代码清单。
代码清单:
- $names = array();
- $names = array_reduce($user, create_function('$v,$w', '$v[$w["id"]]=$w["name"];return $v;'));
得到结果:
- array(
- 1 => '张三',
- 2 => '李四',
- 5 => '王五',
- );
经常 foreach 的童鞋,赶快更正吧!
本文来自CSDN,转载请注明出处!http://blog.csdn.net/liruxing1715/article/details/22925575
相关推荐
### PHP 如何高效地获取二维数组中某个key的集合 #### 概述 在处理数据库查询结果时,经常需要将查询结果(通常是二维数组形式)转换成特定格式的数据结构,以便于后续处理或展示。例如,从数据库中获取用户列表后...
总之,这篇文章介绍了在PHP中向二维数组的一维子数组添加值的两种方法,分别通过引用和不引用循环变量。理解这些概念和实践技巧对于提升PHP编程技能非常有帮助。在处理数组时,不仅要考虑如何实现功能,还要注意代码...
在PHP编程中,处理二维...总的来说,掌握这些方法和技巧可以帮助开发者更高效地处理PHP二维数组,提高代码的可读性和维护性。在日常工作中,选择合适的方法取决于具体情况,包括性能需求、代码可读性以及兼容性等因素。
本篇文章将深入探讨如何根据特定键值将相同键值的二维数组合并成一个新的二维数组。这在数据分析、数据整理以及信息分组等场景中非常实用。 首先,我们要理解问题的核心:将具有相同键值(比如键'a')的数组元素...
PHP中的二维数组分组是将一个二维数组中的元素按照某个特定的键(key)进行分类整理的过程。二维数组是由一系列的一维数组构成的数组,每个一维数组可以被视作一个单独的元素。在进行分组操作时,我们通常希望根据...
在PHP编程中,数组是一种非常重要的数据结构,尤其在处理数据集合时,二维数组和三维数组经常被使用。本文将详细介绍如何过滤PHP的二维数组和三维数组,以及如何将三维数组转换为二维数组。 首先,让我们看看如何...
在PHP编程中,处理和操作数组是常见的任务之一,特别是在处理复杂的数据结构时,如二维数组。当需要根据二维数组中的特定键值对进行排序时,`array_multisort()` 函数就显得尤为重要。本篇文章将详细讲解如何使用PHP...
总的来说,`array_sort()`函数是解决PHP二维数组按指定键排序问题的一个实用工具,尤其适用于那些不能直接通过内置函数解决的复杂排序需求。通过自定义比较逻辑,你可以进一步扩展这个函数,以适应更复杂的排序规则...
二维数组,顾名思义,是数组中包含数组的数据结构,常用于存储表格数据或者多维度的数据。然而,当二维数组中有重复的子数组时,有时我们需要进行处理以确保数据的唯一性。本文将详细介绍一种删除二维数组中重复值的...
本篇文章将详细讲解如何使用PHP实现一维数组和二维数组的去重功能。 首先,针对一维数组的去重,PHP提供了一个内置函数`array_unique()`,它能有效地去除数组中的重复元素。以下是一个简单的示例: ```php <?php $...
在PHP编程中,经常需要处理各种类型的数组,其中包括二维数组。二维数组通常用来表示表格数据,比如从数据库中查询出来的记录。在某些情况下,我们可能需要去除这些数据中的重复项,确保每个元素都是唯一的。本篇...
1. `$list`:这是一个二维数组,即待排序的数据集合。 2. `$field`:指定用于排序的键名,这个键存在于二维数组的每个子数组中。 3. `$sortby`:排序方式,可以是'asc'(升序),'desc'(降序)或'nat'(自然排序,...
2. `$key`变量用于获取二维数组外层的键,这样我们可以知道当前正在处理哪个子数组。 3. `$arr_item`代表的是每个外层键对应的子数组。通过再次使用`foreach`循环,我们可以遍历子数组中的所有元素,获取其对应的值...
在PHP编程语言中,处理和操作数组是一项基本且常见的任务,特别是二维数组,它是由一个或多个一维数组组成的结构,常用于存储表格数据。本示例将详细讲解如何对PHP中的简单二维数组进行排序。 二维数组通常表示为多...
根据给定的数据,我们可以创建一个二维数组,其中每个子数组代表一个学生的信息。代码如下: ```php $student = array( array('姓名' => '王丹', '分数' => 67), array('姓名' => '李明', '分数' => 83), array('...