if문 진행중에 문제가 있어 질문드립니다.
본문
현재 메뉴쪽 카테고리 if 문 작업 중에 이상한 현상이 보여서 질문드립니다.
예를 들어서 1차분류 카테고리의 ca_id가 1010이고,
2차 분류 카테고리의 ca_id가 1010e0 일 때 2개가 같다고 인식이 됩니다.
분명 두개를 불러들였을 때 키워드가 다르다고 나오는데 뒤에 e0이 붙은 경우는 모두 동일하다고 인식이 되고 있습니다. 관련하여 아시는 분 있을까요?..
소스 참조로 올려봅니다.
$sql = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where ca_id like '$caid%' and length(ca_id) = '".$length."' and ca_use = '1' order by ca_order, ca_id ";
$result = sql_query($sql);
while ($row=sql_fetch_array($result)) {
if($ca_id == $row['ca_id'] ) {
$str .= '<li><a href="./list.php?ca_id='.$row['ca_id'].'"><strong>'.$row['ca_id'].$row['ca_name'].$ca_id.'</strong></a></li>';
} else {
$str .= '<li><a href="./list.php?ca_id='.$row['ca_id'].'">'.$row['ca_name'].'</a></li>';
}
답변 2
if( (string) $ca_id === (string) $row['ca_id'] ) {
}
조건을 위처럼 변경해 주세요. 영어e를 지수로 인식해서 일어나는 현상입니다.
예를 들어서 1차분류 카테고리의 ca_id가 1010이고,
2차 분류 카테고리의 ca_id가 1010e0 일 때 2개가 같다고 인식이 됩니다.
==
어떤 증상을 보시고 이렇게 판단하는 건지 알 수 있을까요?
답변을 작성하시기 전에 로그인 해주세요.