php 배열내 중복된 값이 있다면 한개만 삭제?
본문
$test = "서울,대구,부산,대구,부산,경기";
이렇게 되어있습니다
위 변수값에서 _POST 값이 대구 일경우
$test = str_replace($_POST[대구],"", $test);
이렇게 되면 $test 내 모든 대구가 삭제 되는데요..
$test 변수 내에서 대구 한개값만 삭제하려고 하는데.. 방법이 없을까요???
답변 4
array_unique($array); //중복제거
예) $arr = array_unique($array);
위 와 같이 하면 되고요~~ 해결 되셨으면 채택 부탁드려요
의도하시는 것을 정확하게 인지한 것인지 확실치는 않은데요.. 아래와 같은 방법도 고려를 해보시기 바랍니다.
<?php
$str = '서울,대구,부산,대구,부산,경기';
$haystack = explode(',', $str);
$niddle = '대구';
$count = 0;
foreach($haystack as $value) {
if($value == $niddle)
$count++;
}
if($count > 1)
$result = array_unique($haystack);
else
$result = $haystack;
echo implode(',', $result);
?>
echo preg_replace("/$city,|,$city$/",'',$test,1);
흠.. 여러 방법들이 있군요^^
정규식을 제대로 알면 편할것 같은데...ㅠㅠ
답변주신 모든분들 감사드립니다 ^^
답변을 작성하시기 전에 로그인 해주세요.