<?php
/**
* @param $data 转换为关系数组数组
* @param string $field 第一维索引字段
* @param string $field1 第二维索引字段
* @param int $oldfield 是否保留原有属性 1保留,0不保留
* @return array
*/
function arrayToAssoc($data, $field = "",$field1="",$oldfield=1){
if(empty($field)) return $data;
$new = array();
if($data){
foreach ($data as $k=>$v){
if(isset($v[$field]) && !empty($field1) && isset($v[$field1])){
$key2 = (string)$v[$field1];
$key1 = (string)$v[$field];
$new[$key1][$key2][] = $oldfield?$v:1;
}elseif(isset($v[$field])){
$new[$v[$field]][] = $oldfield?$v:1;
}
}
}
return $new;
}
$arr = [
['name'=>'2323','bbb'=>"cccc"],
['name'=>'2323','bbb'=>"dd"],
['name'=>'2323','bbb'=>"ee"],
['name'=>'111','bbb'=>"222"],
['name'=>'11','bbb'=>"555"],
];
$a = arrayToAssoc($arr,'name','bbb');
$b = arrayToAssoc($arr,'name');
var_dump($a);
var_dump($b);