PHP parent_id 테이블을 depth 테이블로 변환

Jmnote (토론 | 기여)님의 2020년 5월 25일 (월) 03:12 판 (새 문서: ==개요== {{DISPLAYTITLE:PHP parent_id 테이블을 depth 테이블로 변환}} ;PHP parent_id 테이블을 depth 테이블로 변환 <source lang='php' run> $table1 = [ ['id'=>1,...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

1 개요

PHP parent_id 테이블을 depth 테이블로 변환
$table1 = [
  ['id'=>1, 'value'=>'/'  , 'parent_id'=>0],
  ['id'=>2, 'value'=>'bin', 'parent_id'=>1],
  ['id'=>3, 'value'=>'etc', 'parent_id'=>1],
  ['id'=>4, 'value'=>'usr', 'parent_id'=>1],
  ['id'=>5, 'value'=>'bin', 'parent_id'=>4],
  ['id'=>6, 'value'=>'var', 'parent_id'=>1],
  ['id'=>7, 'value'=>'log', 'parent_id'=>6],
];

$table2 = [];
$temp_parent_depth = [];
foreach($table1 as $row) {
  $id = $row['id'];
  $parent_id = $row['parent_id'];
  $row['depth'] = isset($temp_parent_depth[$parent_id])? $temp_parent_depth[$parent_id]+1: 0;
  $temp_parent_depth[$id] = $row['depth'];
  $table2[] = $row;
}

foreach($table2 as $row) {
  echo "id: ${row['id']}, depth:${row['depth']}, value:${row['value']}\n";
}

2 같이 보기

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}