(int)input_id == id 가 이해가 안돼요

if((int)input_id == $id && strlen(input_id) === 10){
echo '<h4>ID pass.</h4><br>';

이 부분에서 input_id을 (int)로 형변환을 하면 "a123456789"가 0이 된다는 건 알겠는데
(int)input_id == $id가 같은 지를 모르겠어요. (int)input_id == (int)id도 아닌데 왜 무작위 문자열 $id랑 (int)input_id랑 같으거죠??

#web
작성자 정보
답변 1
avatar
hoppi_
대표 업적 없음

안녕하세요 이서건님!
마찬가지로 느슨한 비교를 수행하게되면 php에서 자동으로 형변환을 수행하기 때문에 문자열을 정수형으로 형변환하고 비교하여
0000000000(strlen을 맞춰주기 위함)을 입력하면 통과하게 됩니다.
더 궁금하신사항 있으시면 남겨주세요!

2024.06.07. 18:06
질문에 대한 답을 알고 계신가요?
지식을 나누고 포인트를 획득해보세요.
답변하고 포인트 받기