"PHP depth 테이블을 parent id 테이블로 변환"의 두 판 사이의 차이

잔글 (봇: 자동으로 텍스트 교체 (-</source> +</syntaxhighlight>, -<source +<syntaxhighlight ))
 
(다른 사용자 한 명의 중간 판 4개는 보이지 않습니다)
3번째 줄: 3번째 줄:
;PHP depth 테이블을 parent_id 테이블로 변환
;PHP depth 테이블을 parent_id 테이블로 변환


<source lang='php' run>
<syntaxhighlight lang='php' run>
$table1 = [
$table1 = [
   ['id'=>1, 'value'=>'/'  , 'depth'=>0],
   ['id'=>1, 'value'=>'/'  , 'depth'=>0],
19번째 줄: 19번째 줄:
   $id = $row['id'];
   $id = $row['id'];
   $depth = $row['depth'];
   $depth = $row['depth'];
   $row['parent_id'] = $temp_parent_ids[$depth-1] ?: 0;
   $row['parent_id'] = $temp_parent_ids[$depth-1] ?? 0;
   $temp_parent_ids[$depth] = $id;
   $temp_parent_ids[$depth] = $id;
   $table2[] = $row;
   $table2[] = $row;
27번째 줄: 27번째 줄:
   echo "id: ${row['id']}, parent_id:${row['parent_id']}, value:${row['value']}\n";
   echo "id: ${row['id']}, parent_id:${row['parent_id']}, value:${row['value']}\n";
}
}
</source>
</syntaxhighlight>


==같이 보기==
==같이 보기==
* [[PHP depth 테이블을 트리 자료로 변환]]
* [[PHP parent_id 테이블을 depth 테이블로 변환]]
* [[depth 테이블을 parent_id 테이블로 변환]]
* [[depth 테이블을 parent_id 테이블로 변환]]


[[분류: PHP]]
[[분류: PHP 트리]]

2020년 11월 2일 (월) 02:57 기준 최신판

1 개요[ | ]

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

$table2 = [];
$temp_parent_ids = [];
foreach($table1 as $row) {
  $id = $row['id'];
  $depth = $row['depth'];
  $row['parent_id'] = $temp_parent_ids[$depth-1] ?? 0;
  $temp_parent_ids[$depth] = $id;
  $table2[] = $row;
}

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

2 같이 보기[ | ]

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