您好,登錄后才能下訂單哦!
/*
@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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。