문제 배경: 배열은 일반적으로 키-값 저장소에 저장됩니다. 때로는 지정된 키와 해당 값을 삭제해야 합니다. 그런데 왜인지는 모르겠지만, 가치를 알고 가치를 삭제한다는 글이 너무 많아서 오해할 뻔했습니다.
첨부된 코드는 제가 작성한 코드의 전체 버전입니다.
function array_remove($data, $key){ if(!array_key_exists($key, $data)){ return $data; } $keys = array_keys($data); $index = array_search($key, $keys); if($index !== FALSE){ array_splice($data, $index, 1); } return $data; } $data = array('name'=>'apple','age'=>12,'address'=>'ChinaGuangZhou'); $result = array_remove($data, 'name'); var_dump($result);
1. 문제는 array_search 함수에서 값에 따라 검색하여 위치를 가져옵니다. 찾을 수 없으면 NULL 또는 false를 반환합니다.
2. 키별로 키에 해당하는 위치를 찾으려면 $keys에서 찾아야 하는데 array_keys를
3이라고 부르는 이유는 array_search 함수가 NULL과 false를 반환할 수 있기 때문입니다. 절대 비교를 사용해야합니다! ="=
참고:
php 공식 문서: http://www.php100.com/cover/php/189.html
PHP CodeIgniter 커뮤니티 그룹에 오신 것을 환영합니다: 460132647 비고: yanzi
위 내용은 관련 내용을 포함하여 배열 배열(풀 버전, 함수로 캡슐화, 테스트 코드 첨부)에서 지정된 키를 삭제하는 PHP를 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.