배열 키 값 삭제 질문 채택완료
안녕하세요.
본론부터 가자면
제 배열은 json으로 만들어진 배열을 json_decode 하여 array 형식으로 만든 배열입니다.
근데 그 배열에서
unset($this->arr["$arr1"]);
하면 삭제가 되질 않습니다.
구글에 나와있는 다른 방법들 다 해봤는데 배열이 다 삭제되거나, 삭제를 원한 배열이 아닌 다른게 삭제되거나 (예를 들면 array("1", "2", "3") 이 있을 때 2를 지우면 1이 지워짐.) 삭제가 되지 않습니다.
무슨 이유인지 모르겠네요 ㅠㅠㅠ
답변 2개
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
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); 식으로 시도해보면 어떨까 합니다.
답변에 대한 댓글 3개
으로 했는데 똑같네요...
$this->arr["$arr1"]; 과 같은 표현이 있는데..
arr["$arr1"] 부분이 문제가 있을 가능성이 있어 보입니다.
보통 배열 처리를 할 때에는..
$member['mb_id']
$member['mb_name']
과 같이 사용하거나,
key 부분에 변수를 사용한다면..
$str = "mb_id";
$member[$str]; // 따옴표 사용 X
식으로 사용합니다만, $member['$str'] 식으로 하면 예상과는 다른 작동이 될 가능성이 높습니다.
이부분을 한번 살펴보면 어떨까 합니다.
로 해봤는데 삭제가 안되네요.
unset이 배열도 삭제 가능하다고 여러번 찾아봤는데
unset($this->userCommand); 는 되네요.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인