배열 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 가 될텐데요..
!-->
답변을 작성하시기 전에 로그인 해주세요.