PHP Warning: Division by zero in 주로 값이 0인 변수를 가지고 수식계산을 할 때 나타난다. 해결방법은 값이 0일때는 계산식에 들어가지 않게 분기처리 해준다. 예시) // Bad; $test = 0; $test2 = $test / 2; // Good! if($test != 0){ $test2 = $test / 2; }
PHP Warning: Creating default object from empty value in Object형식이 아닌 변수 혹은 empty value를 Object 형식으로 사용할 때 주로 나타나는 오류. 예시) // Bad; $stirng->etc->emai = 'email'; // Good! if(!isset($stirng->etc) || !is_object($stirng->etc)) { $stirng->etc = new stdclass(); $stirng->etc->emai = 'email'; }
PHP Fatal error: Cannot use isset() on the result of an expression isset()함수를 사용할 때 안에 값에 변수에 $ 안붙였을 때 많이 발생. 예시) isset(test); // Bad; isset($test); // Good;
PHP Warning: Use of undefined constant string - assumed 'string' 배열을 사용할 때 많이 나는 warning으로, 배열[string] 형태로 값을 사용 할 때 쿼테이션을 안붙여서 주로 발생. 예시) $string[test] = 'test' ; //Bad; $string["test"] = 'test' ; //Good!
PHP Warning: Invalid argument supplied for foreach() in foreach 반복문을 사용 할 때, 매개변수 배열값에 대한 null 혹은 공백 사전 필터링을 하지 않아서 값이 없는 배열 혹은 Object로 반복문을 실행하여 나는 오류. 아래의 형식으로 고쳐 쓸 수 있다. 예시) // Bad; foreache($test as $key){ } // Good! if(isset($test) && (is_array($test) || is_object($test)) ){ foreache($test as $key){} }
PHP Warning: htmlspecialchars(): charset `euc_kr' not supported, assuming utf-8 in Error 예시) 1] htmlspecialchars(iconv('euc-kr','utf-8',$string)) 2] htmlspecialchars($string) 위 형태로 코딩할 때 주로 나타나는 것 같음. Error 해결 예시) // Good! htmlspecialchars(iconv("euc-kr", "utf-8",$string),ENT_QUOTES,'ISO-8859-1'); htmlspecialchars($string,ENT_QUOTES,'ISO-8859-1');