오류 해석 부탁드립니다. 정보
오류 해석 부탁드립니다.
본문
Warning: strlen() expects parameter 1 to be string, array given in ~~/lib/skin.lib.php on line 133
skin.lib.php on line 133의 해당부분은
$arr_search = array();
for($j = 1; $j < 8; $j++){
if(($_GET["wr_".$j] && strlen($_GET["wr_".$j]) > 1 ) || is_array($_GET["wr_".$j])) {
$arr_search[name][] = "wr_".$j;
$arr_search[val][] = $_GET["wr_".$j];
}
}
입니다.
위와 같은 에러는 무슨 내용인가요?
skin.lib.php on line 133의 해당부분은
$arr_search = array();
for($j = 1; $j < 8; $j++){
if(($_GET["wr_".$j] && strlen($_GET["wr_".$j]) > 1 ) || is_array($_GET["wr_".$j])) {
$arr_search[name][] = "wr_".$j;
$arr_search[val][] = $_GET["wr_".$j];
}
}
입니다.
위와 같은 에러는 무슨 내용인가요?
댓글 전체

strlen()함수는 문자열의 길이는 찾는거라 배열로 들어가면 오류가 납니다
즉
if(is_array()){ //배열일때
for($j=0;$j < count(); $j++){
}
}else{ //배열이 아닐때
if(strlen()){
//내용
}
}
분리를 하셔야 할듯합니다
즉
if(is_array()){ //배열일때
for($j=0;$j < count(); $j++){
}
}else{ //배열이 아닐때
if(strlen()){
//내용
}
}
분리를 하셔야 할듯합니다

불량학생님 답변 감사드립니다 많은 공부되었어요
문법은 틀린걸 모르겠고 GET wr_1~ 8 사이에 스트링값이 들어가야 하는데 배열이 들어갔을때 문제가 있을꺼같습니다
if(($_GET["wr_".$j] && strlen($_GET["wr_".$j]) > 1 ) || is_array($_GET["wr_".$j])) {
에서 배열인지를 먼저 체크 해주시는게 좋을꺼같네요
if($_GET["wr_".$j] && (is_array($_GET["wr_".$j]) || (strlen($_GET["wr_".$j]) > 1 )) {
배열일경우 뒤에부분을 체크 안하게끔
if(($_GET["wr_".$j] && strlen($_GET["wr_".$j]) > 1 ) || is_array($_GET["wr_".$j])) {
에서 배열인지를 먼저 체크 해주시는게 좋을꺼같네요
if($_GET["wr_".$j] && (is_array($_GET["wr_".$j]) || (strlen($_GET["wr_".$j]) > 1 )) {
배열일경우 뒤에부분을 체크 안하게끔

K찰스님 답변참고하니 잘 해결하였습니다 감사합니다