## 二维数组中的一个【键的值】作为一维的 【键】
原数组
```
Array
(
[0] => Array
(
[id] => 1
[name] => hongwei
)
[1] => Array
(
[id] => 2
[name] => zhangwei
)
)
```
想要变化后的数组
```
Array
(
[1] => Array
(
[id] => 1
[name] => hongwei
)
[2] => Array
(
[id] => 2
[name] => zhangwei
)
)
```
## 方法1:
```
$arr = [
['id'=>1,'name'=>'hongwei'],
['id'=>2,'name'=>'zhangwei']
];
$newArr = array_reduce($arr,function(&$newArr,$v){
$newArr[$v['id']] = $v;
return $newArr;
});
print_r($arr);
print_r($newArr);exit;
```
## 方法2:
```
$arr = [
['id'=>1,'name'=>'hongwei'],
['id'=>2,'name'=>'zhangwei']
];
$newArr = [];
foreach ($arr as $m) {
$newArr[$m['id']] = $m;
}
print_r($arr);
print_r($newArr);exit;
```
## 方法3:
```
$arr = [
['id'=>1,'name'=>'hongwei'],
['id'=>2,'name'=>'zhangwei']
];
$newArr = field_as_key($arr,'id');
print_r($arr);
print_r($newArr);exit;
```
函数如下:
```
if (!function_exists('field_as_key')) {
/**
* 二维数组用某个二维元素的值作为一维元素的键
* 常用于数据库结果用某个字段作为记录的索引键
* @author Baiyu 2017-01-23
* @param array $array 输入数组
* @param string $field 要作为键的字段名
* @param bool $unique 要做键的字段是否唯一(该字段与记录是否一一对应)
* @return array
*/
function field_as_key($array, $field, $unique = FALSE) {
$result = array();
foreach ($array as $item) {
if (isset($item[$field])) {
if (!$unique && isset($result[$item[$field]])) {
$unique = TRUE;
$result[$item[$field]] = array($result[$item[$field]]);
$result[$item[$field]][] = $item;
} elseif ($unique) {
$result[$item[$field]][] = $item;
} else {
$result[$item[$field]] = $item;
}
}
}
return $result;
}
}
```
- 一维数组操作方法
- 求得这个数组中各个元素之和
- 取出两个数组中相同的内容
- 将数组元素组合为字符串implode
- 将字符串转化为数组explode
- 逗号分割的字符串去重
- 一维数组增加某个值
- PHP从数组中找到指定元素的位置
- 二维或多维数组操作方法
- 根据某一个键值合并生成一个新的二维数组
- 二维数组变一维数组
- 二维数组取一个值变一维数组
- php二维数组合并及去重复的方法
- php数组根据某键值,把相同键值的合并最终生成一个新的二维数组
- 二维数组增加一个值
- 生成无限级树算法
- sql2md SQL转化为markdown语法
- PHP修改多维数组中的某个值
- 二维数组
- 省市区联动的查询
- PHP求某二维数组,某一列元素的最大最小值
- php 求二维数组的差集
- 按某个键值排序
- 基本知识
- 键名作为键值
- PHP中foreach的用法和实例
- PHP foreach 循环案例
- php5.3以后的foreach的&符号不建议使用
- PHP中判断变量为空的几种方法小结
- 判断PHP数组是否为空的代码
- php删除数组中指定值的元素的几种方法
- PHP删除数组中的指定元素
- php数组函数序列之array_keys() - 获取数组键名
- php 中更简洁的三元运算符 ?:
- 函数
- 字符串函数
- 数组函数
- 实例
- 将 $arr 中age大于第一个大于30的人增加一项一条信息
- 强大的数组函数