배열 in_array 함수에 대해서 질문입니다.

배열 in_array 함수에 대해서 질문입니다.

QA

배열 in_array 함수에 대해서 질문입니다.

본문

매번 도움을 주셔서 감사합니다.

이번에도, 혼자해결하기엔 너무 어려운?것같아서 요렇게 질문드립니다ㅜㅜ

 

 

$arr = array();

 

food 란 필드엔 예를들어서

햄버거,햄버거,햄버거,피자,치킨,족발 요렇게 들어있고

 

$i가 한번 돌았을땐 $arr배열안엔

Array

(

  [햄버거]

)

가 들어가잖아요.

그것을 for문 안에서 체크하고싶습니다.

for($i=0; $row = sql_fetch_array($res); $i++){

 

  $arr[$row[food]] = $row[food];

 

 if(in_array($row[food],$arr))

{

 //들어있을때

}else{

//안들어있을때

}

 

}

요렇게 하니까 for문이 몇번을 돌든간에 다 안들어가있을때 else문을 타버립니다..

문법이틀렷나요..?..

이 질문에 댓글 쓰기 :

답변 2

왜 연관배열을 쓰셨는지는 모르겠지만, 이렇게 하시면 됩니다.


$arr = array();
while($row = sql_fetch_array($res)) {
    if(!in_array($row['food'], $arr)) {
        array_push($arr, $row['food']);
    }
}
// $arr = ['햄버거', '피자', '치킨', '족발'];

array_key_exists 함수를 이용해보세요


if(array_key_exists($row['food'], $arr)) {
}

 

근데 코드가 이상하네요. for 문 바로 다음에 배열에 넣고 검사를하면 계속 true 가 될텐데요..

for문안에서
배열에 하나씩 담으려고 합니다.
그때 $arr 배열에 담으려고 하는것이 있으면 넘어가고
담으려고 하는것이 없으면 $arr 안에 담으려고합니다.

어떻게해야될까요..?

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

회원로그인

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