Arrays 从数组创建层次结构
我有一个数组,如下所示Arrays 从数组创建层次结构,arrays,multidimensional-array,hierarchy,Arrays,Multidimensional Array,Hierarchy,我有一个数组,如下所示 array( 0 => array( 'parent' => 'Bigboss', 'middle' => 'Technicians', 'child' => 'Players' ), 1 => array( 'parent' => 'Company', 'middle' => 'Manager', 'child
array(
0 => array(
'parent' => 'Bigboss',
'middle' => 'Technicians',
'child' => 'Players'
),
1 => array(
'parent' => 'Company',
'middle' => 'Manager',
'child' => 'Employees'
),
2 => array(
'parent' => 'Bigboss',
'middle' => 'Manager',
'child' => 'Workers'
),
3 => array(
'parent' => 'Company',
'middle' => 'Techinical Lead',
'child' => 'Employees'
),
4 => array(
'parent' => 'Bigboss',
'middle' => 'Workers',
'child' => 'Employees'
)
);
array(
'Biggboss' => array(
'Technicians' => array(
0 => 'Players'
),
'Manager' => array(
0 => 'Workers'
),
'Workers' => array(
0 => 'Employees'
)
),
'Company' => array(
'Manager' => array(
0 => 'Employees'
),
'Techinical Lead' => array(
0 => 'Employees'
)
)
);
我希望这个数组的层次结构如下
parent
=> middle
=> child
parent
=> middle
=> child
一模一样
array(
0 => array(
'parent' => 'Bigboss',
'middle' => 'Technicians',
'child' => 'Players'
),
1 => array(
'parent' => 'Company',
'middle' => 'Manager',
'child' => 'Employees'
),
2 => array(
'parent' => 'Bigboss',
'middle' => 'Manager',
'child' => 'Workers'
),
3 => array(
'parent' => 'Company',
'middle' => 'Techinical Lead',
'child' => 'Employees'
),
4 => array(
'parent' => 'Bigboss',
'middle' => 'Workers',
'child' => 'Employees'
)
);
array(
'Biggboss' => array(
'Technicians' => array(
0 => 'Players'
),
'Manager' => array(
0 => 'Workers'
),
'Workers' => array(
0 => 'Employees'
)
),
'Company' => array(
'Manager' => array(
0 => 'Employees'
),
'Techinical Lead' => array(
0 => 'Employees'
)
)
);
如果有人能解决这个问题,我将不胜感激。我相信这是可行的
$input = array(
0 => array(
'parent' => 'Bigboss',
'middle' => 'Technicians',
'child' => 'Players'
),
1 => array(
'parent' => 'Company',
'middle' => 'Manager',
'child' => 'Employees'
),
2 => array(
'parent' => 'Bigboss',
'middle' => 'Manager',
'child' => 'Workers'
),
3 => array(
'parent' => 'Company',
'middle' => 'Techinical Lead',
'child' => 'Employees'
),
4 => array(
'parent' => 'Bigboss',
'middle' => 'Workers',
'child' => 'Employees'
)
);
$output = array();
foreach($input as $key => $value){
if(!isset($output[$value['parent']])){
$output[$value['parent']] = array();
}
$output[$value['parent']][$value['middle']] = array($value['child']);
}
print_r($output);
如果要在最后一个维度中允许多个值,请更改:
$output[$value['parent']][$value['middle']] = array($value['child']);
到
我相信这是有效的
$input = array(
0 => array(
'parent' => 'Bigboss',
'middle' => 'Technicians',
'child' => 'Players'
),
1 => array(
'parent' => 'Company',
'middle' => 'Manager',
'child' => 'Employees'
),
2 => array(
'parent' => 'Bigboss',
'middle' => 'Manager',
'child' => 'Workers'
),
3 => array(
'parent' => 'Company',
'middle' => 'Techinical Lead',
'child' => 'Employees'
),
4 => array(
'parent' => 'Bigboss',
'middle' => 'Workers',
'child' => 'Employees'
)
);
$output = array();
foreach($input as $key => $value){
if(!isset($output[$value['parent']])){
$output[$value['parent']] = array();
}
$output[$value['parent']][$value['middle']] = array($value['child']);
}
print_r($output);
如果要在最后一个维度中允许多个值,请更改:
$output[$value['parent']][$value['middle']] = array($value['child']);
到
@嘿,桑加纳巴苏,请弥撒修好this@heysanganabasu,让Mass来解决这个问题