/*
@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. 测试:
乐山网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设等网站项目制作,到程序开发,运营维护。成都创新互联自2013年创立以来到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联。
$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' } ]