/*
@desc:一维数组转二维数组
@param data 需要转换的数组
@param key 主键
@return ret 转换后的数组
*/
function onetomore($data,$key){
$ret = array();
foreach($data as $v){
$arr = array();
foreach($v as $k1=>$v1){
if($k1 != $key){
$arr[$k1] = $v1;
}
}
$ret[$v[$key]][] = $arr;
}
return $ret;
}
b. 测试:
$data = array(
array(
'user_id' => 1,
'role_id' => 1,
'user_nick' => 'a'
),
array(
'user_id' => 2,
'role_id' => 1,
'user_nick' => 'b'
),
array(
'user_id' => 3,
'role_id' => 2,
'user_nick' => 'c'
)
);
$ret = onetomore($data,'role_id');
var_dump($ret);
c. 输出:
array(2) {
[1]=>
array(2) {
[0]=>
array(2) {
["user_id"]=>
int(1)
["user_nick"]=>
string(1) "a"
}
[1]=>
array(2) {
["user_id"]=>
int(2)
["user_nick"]=>
string(1) "b"
}
}
[2]=>
array(1) {
[0]=>
array(2) {
["user_id"]=>
int(3)
["user_nick"]=>
string(1) "c"
}
}
}
/*
@desc:二维数组转一维数组
@param data 需要转换的数组
@param key 主键
@return ret 转换后的数组
*/
function moretoone($data,$key){
$ret = array();
$count = 0;
foreach($data as $k=>$v){
foreach($v as $v1){
$ret[$count] = $v1;
$ret[$count][$key] = $k;
$count ++;
}
}
return $ret;
}
b. 测试:
$data = array(
1 => array(
array(
"user_id" => 1,
"user_nick" => 'a'
),
array(
"user_id" => 2,
"user_nick" => 'b'
)
),
2 => array(
array(
"user_id" => 3,
"user_nick" => 'c'
)
)
);
$ret = moretoone($data,'role_id');
var_dump($ret);
c. 输出:
array(3) {
[0]=>
array(3) {
["user_id"]=>
int(1)
["user_nick"]=>
string(1) "a"
["role_id"]=>
int(1)
}
[1]=>
array(3) {
["user_id"]=>
int(2)
["user_nick"]=>
string(1) "b"
["role_id"]=>
int(1)
}
[2]=>
array(3) {
["user_id"]=>
int(3)
["user_nick"]=>
string(1) "c"
["role_id"]=>
int(2)
}
}
/*
@desc:一维数组转二维数组
@param data 需要转换的数组
@param key 主键
@return ret 转换后的数组
*/
function onetomore(data,key){
var ret = {}
for(var i in data){
ret[data[i][key]] = new Array()
}
for(var i in data){
var arr = {}
for(var j in data[i]){
if(j != key){
arr[j] = data[i][j]
}
}
ret[data[i][key]].push(arr)
}
return ret
}
b. 测试:
var data = new Array(
{
'uesr_id':1,
'role_id':1,
'user_nick':'a'
},
{
'uesr_id':2,
'role_id':1,
'user_nick':'b'
},
{
'uesr_id':3,
'role_id':2,
'user_nick':'c'
}
)
var ret = onetomore(data,'role_id')
console.log(ret)
c. 输出:
{ '1':
[ { uesr_id: 1, user_nick: 'a' },
{ uesr_id: 2, user_nick: 'b' } ],
'2': [ { uesr_id: 3, user_nick: 'c' } ] }
/*
@desc:二维数组转一维数组
@param data 需要转换的数组
@param key 主键
@return ret 转换后的数组
*/
function moretoone(data,key){
var ret = new Array()
var count = 0
for(var i in data){
ret[count] = {}
for(var j in data[i]){
ret[count] = data[i][j]
ret[count][key] = i
count ++
}
}
return ret
}
b. 测试:
var data = {
1:new Array(
{
'user_id':1,
'user_nick':'a'
},
{
'user_id':2,
'user_nick':'b'
}
),
2:new Array(
{
'user_id':3,
'user_nick':'c'
}
)
}
var ret = moretoone(data,'role_id')
console.log(ret)
c. 输出:
[ { user_id: 1, user_nick: 'a', role_id: '1' },
{ user_id: 2, user_nick: 'b', role_id: '1' },
{ user_id: 3, user_nick: 'c', role_id: '2' } ]
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。