테스트 사이트 - 개발 중인 베타 버전입니다

7.x 버전으로 옮긴후 에러 질문드립니다. 채택완료

요고꽁 2년 전 조회 1,878

</p>

<p>$aaa += (int)$rows['bbb'];</p>

<p>

 

이 부분에서 아래처럼 에러 나오는 이유는 몰가요? ㅠㅠ

  • Warning: A non-numeric value encountered in
댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트

숫자를 기대하는 연산자 또는 이에 상응하는 할당을 사용하여 잘못된 문자열을 강제 변환할 때 생긴 에러 같네요

 

is_numeric($value_1) 조건문 써서 해보세요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 6개

요고꽁
2년 전
if($is_numeric($value_1)) {
$aaa += (int)$rows['bbb'];
}

이렇게 말씀하시는건지요?
$value_1 << 이거 값은 어디서 불러오는 값일가요? ㅠㅠ
리오닥터
2년 전
if($is_numeric($rows['bbb'])) {
$aaa += (int)$rows['bbb'];
}else {
$aaa = 0;
}

이렇게 해보세요
요고꽁
2년 전
Fatal error: Uncaught Error: Function name must be a string in Stack trace: #0

이런 에러가 나네요 ㅠ
리오닥터
2년 전
치명적 오류: Uncatched Error: 함수 이름은 스택 트레이스: #0의 문자열이어야 합니다.0

$rows['bbb']; 디버깅해보세요 이값이 뭔지 좀 알고싶네요
요고꽁
2년 전
숫자입니다.
echo (int)$rows['bbb'];
이렇게 하면 100000 이렇게 값이 나와요 값은 정상으로 나옵니다. ㅠㅠ
리오닥터
2년 전
아! 그럼 이렇게 해보세요
$aaa = 0;
if($is_numeric($rows['bbb'])) {
$aaa += (int)$rows['bbb'];
}

댓글을 작성하려면 로그인이 필요합니다.

s
sinbi Expert
2년 전

$rows 변수에 들어있는 값을 먼저 확인해 보세요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

2년 전

$aaa는 정의되어 있나요? 안되어있으면 계산전에 0으로 정의해보세요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인