제목 | php 배열 생성 관련 질문입니다. | ||
---|---|---|---|
카테고리 | PHP | ||
글쓴이 | 케케케 | 작성시각 | 2022/03/07 20:16:46 |
|
|||
안녕하세요배열은 만드는데 잘 안되는 부분이 있어서 질문드립니다. 1번과 같은 배열이 있습니다 실제로 배열은 더 있고위와 같은 구조 처럼 기본적으로 id가 있고 상위id인 pid가있습니다. 1번의 2,3번째 배열 처럼 2,3번의 pid가 197이면해당 값을 id로 갖고있는 배열아래 sub로 추가를 하고싶습니다.
어떻게 하면 될까요?1번이 기존 배열이고완성하고싶은 배열이 2번입니다. <?php $arrTmp = array(); $arrTmp = array( array('id' => 206, 'BoardName' => '일정게시판', 'pid' => 196), array('id' => '197', 'BoardName' => '테스트게시판', 'pid' => 196), array('id' => '198', 'BoardName' => '하위게시판', 'pid' => 197), array('id' => '199', 'BoardName' => '하위게시판2', 'pid' => 197) ); echo "-----1번 배열---------"; echo "<pre>"; print_r($arrTmp); echo "</pre>"; $arrTmp2 = array( array('id' => 206, 'title' => '일정게시판', 'pid' => 196), array('id' => '197', 'title' => '테스트게시판', 'pid' => 196, 'sub' => array( '하위게시판' => array ( 'title' => '하위게시판', 'id' => 198 ), '하위게시판2' => array ( 'title' => '하위게시판2', 'id' => 199 ) ) ) ); echo "-----2번 배열---------"; echo "<pre>"; print_r($arrTmp2); echo "</pre>"; -----1번 배열--------- Array ( [0] => Array ( [id] => 206 [BoardName] => 일정게시판 [pid] => 196 ) [1] => Array ( [id] => 197 [BoardName] => 테스트게시판 [pid] => 196 ) [2] => Array ( [id] => 198 [BoardName] => 하위게시판 [pid] => 197 ) [3] => Array ( [id] => 199 [BoardName] => 하위게시판2 [pid] => 197 ) ) -----2번 배열--------- Array ( [0] => Array ( [id] => 206 [title] => 일정게시판 [pid] => 196 ) [1] => Array ( [id] => 197 [title] => 테스트게시판 [pid] => 196 [sub] => Array ( [하위게시판] => Array ( [title] => 하위게시판 [id] => 198 ) [하위게시판2] => Array ( [title] => 하위게시판2 [id] => 199 ) ) ) ) /* foreach ($arrTmp as $key => $value) { } */
|
|||
다음글 | 다른 브라우저는 이상 없는데 ie에서 안되는 경우 (2) | ||
이전글 | Ci3 으로 restful api 테스트 중에 오류 문... (3) | ||
빛그림
/
2022/03/07 21:39:58 /
추천
0
|
케케케
/
2022/03/07 23:19:47 /
추천
0
빛그림 // 아니요 딱 제가 작성한 위에 2번 배열 형태처럼 나와야합니다.
|
빛그림
/
2022/03/07 23:22:08 /
추천
0
하위게시판 키가 두개가 될수가 없는데요 ㅡ.ㅡ
|
케케케
/
2022/03/07 23:34:45 /
추천
0
하위 게시판의 키가 2개가 될수없다는게 무슨말이죠? 위의 하위게시판 2개는 서로 다른거에요 |
케케케
/
2022/03/07 23:44:33 /
추천
0
키는 어차피 title이 들어가는지랑 [] 여기서 0,1,2.... 이런식으로 들어가는지의 차이인데 질문의 요지는 pid에 따라서 하위카테고리 생성 배열을 만들기 위함입니다.
|
빛그림
/
2022/03/07 23:55:37 /
추천
0
자세히 보니 하위게시판, 하위게시판2 였네요.
|
빛그림
/
2022/03/07 23:58:14 /
추천
0
$arrTmp[3]['sub']['하위게시판'] = ['title' => '하위게시판', 'id' => 198]; $arrTmp[3]['sub']['하위게시판2'] = ['title' => '하위게시판2', 'id' => 199];
이렇게 해보시면... |
케케케
/
2022/03/08 00:23:11 /
추천
0
말씀하신게 맞는데 저걸 위에 $arrTmp로 루프를 돌면서 만들고싶은거에요 실제로 저 배열크기가 크고 pid나 id값은 여러가지가있고 키값은 정해진게 아니라 (3을 강제로 넣은거요) 트리구조로 만들고싶은데 잘 안되네요 |
빛그림
/
2022/03/08 00:34:29 /
추천
0
for($i=0;$i<count($arrTmp);$i++) { if ($arrTmp[$i]['id'] == '찾는값') { $arrTmp[$i]['sub']['하위게시판'] = ['필요한 내용']; } } 이렇게 하시면 될거 같은데요. 혹시나 하위계층 까지 반복해서 찾아야 한다면 함수 만들어 쓰시면 되고요. |
케케케
/
2022/03/08 19:07:58 /
추천
0
array_key_exist 활용하여 해결하였습니다 감사합니다.
|
이런걸 원하시는 것일까요?