## 二維數組中的一個【鍵的值】作為一維的 【鍵】
原數組
```
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的人增加一項一條信息
- 強大的數組函數