배열 키 값 삭제 질문

배열 키 값 삭제 질문

QA

배열 키 값 삭제 질문

본문

안녕하세요.

 

본론부터 가자면

제 배열은 json으로 만들어진 배열을 json_decode 하여 array 형식으로 만든 배열입니다.

 

근데 그 배열에서

 

unset($this->arr["$arr1"]);

 

하면 삭제가 되질 않습니다.

 

구글에 나와있는 다른 방법들 다 해봤는데 배열이 다 삭제되거나, 삭제를 원한 배열이 아닌 다른게 삭제되거나 (예를 들면 array("1", "2", "3") 이 있을 때 2를 지우면 1이 지워짐.) 삭제가 되지 않습니다.

 

무슨 이유인지 모르겠네요 ㅠㅠㅠ

이 질문에 댓글 쓰기 :

답변 2

https://zetawiki.com/wiki/PHP_json_decode()

 

$json = '{"type":"textarea","size":8}';

$arr = json_decode($json);

식으로 하면 객체로 변경됩니다.

 

$json = '{"type":"textarea","size":8}';

$arr = json_decode($json, true);

식으로 하면 배열로 변경됩니다.

 

json_decode($json, true); 식으로 하여 좀 더 익숙한 배열로 변경하는 방식을 사용한 뒤,

unset($arr); unset($data); 식으로 시도해보면 어떨까 합니다.

 

다시보니 본문의 내용중에..
$this->arr["$arr1"]; 과 같은 표현이 있는데..

arr["$arr1"] 부분이 문제가 있을 가능성이 있어 보입니다.

보통 배열 처리를 할 때에는..
$member['mb_id']
$member['mb_name']
과 같이 사용하거나,
key 부분에 변수를 사용한다면..
$str = "mb_id";
$member[$str]; // 따옴표 사용 X
식으로 사용합니다만, $member['$str'] 식으로 하면 예상과는 다른 작동이 될 가능성이 높습니다.

이부분을 한번 살펴보면 어떨까 합니다.

unset($this->arr["$arr1"]); 이게 맞나요?

unset($this->arr[$arr1]); 이거아니구요?

답변을 작성하시기 전에 로그인 해주세요.
전체 123,665 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT