Asking questions: The format of the data
Data source format:
$data = Array (
Array (' id ' = = 1, ' pid ' = + 0, ' name ' = ' a '),
Array (' id ' = = 2, ' pid ' = + 0, ' name ' = ' B '),
Array (' id ' = = 3, ' pid ' = + 1, ' name ' = ' C '),
Array (' id ' = = 4, ' pid ' = + 1, ' name ' = ' d '),
Array (' id ' = = 5, ' pid ' = + 3, ' name ' = ' E '),
Array (' id ' = = 6, ' pid ' = = 3, ' name ' = ' F '),
Array (' id ' = = 7, ' pid ' = + 6, ' name ' = ' g '),
Array (' id ' = = 8, ' pid ' = + 6, ' name ' = ' h '),
Array (' id ' = = 9, ' pid ' = + 8, ' name ' = ' I '),
Array (' id ' = +, ' pid ' = = 8, ' name ' = ' J '),
Array (' id ' = ' = ', ' pid ' = + 9, ' name ' = ' l '),
Array (' id ' = +, ' pid ' = + 9, ' name ' = ' m '),
);
You need to format the data as follows:
Array (
' a ' = = Array (
' C ' = ' C ',
' d ' = = Array (
' E ' = ' e ',
' f ' = = Array (
' g ' = ' g '
' h ' = = Array (
' I ' = = Array (
' l ' = ' l ',
' m ' = ' m '
),
' J ' = ' j '
),
)
)
),
' B ' = ' B '
)
Ask the great God for help.
------Solution--------------------
!--? php
$data = array (
Array (' id ' = + 1, ' pid ' = = 0, ' name ' = ' a '),
Arr AY (' id ' = = 2, ' pid ' = = 0, ' name ' = ' B '),
Array (' id ' = + 3, ' pid ' = = 1, ' name ' = ' C '),
Array (' ID ' = 4, ' pid ' = 1, ' name ' + ' d '),
Array (' id ' = 5, ' pid ' = = 3, ' name ' = ' E '),
Array (' id ' = = 6, ' pid ' = 3, ' name ' = ' F '),
Array (' id ' = = 7, ' pid ' = 6, ' name ' = ' G '),
Array (' id ' = = 8, ' pid ' =& Gt 6, ' name ' = ' h '),
Array (' id ' = = 9, ' pid ' = = 8, ' name ' = ' i '),
Array (' id ' = ten, ' pid ' = = 8, ' name ' ' + ' j '),
Array (' id ' = +, ' pid ' = = 9, ' name ' = ' l '),
Array (' id ' = +, ' pid ' = + 9, ' name ' => ; ' m '),
);
/******** I am yd's split line *************/
$pid = 1000000;
$mark = ' C ';
foreach ($data as $key = + $value) {
if ($value [pid] = = $pid) {