값이 문자일 떄 출력하는 방법은?
본문
안녕하세요? php 초보자 입니다.
새해 복 많이 받으시구요~
만약에 여분 필드 wr_1이 받는 값이 숫자가 아니고 문자(string)이면 홍길동으로 출력하라~
이것을 어떻게 처리를 해야 하는지요?
if($list[$i]['wr_1'] = 문자)
echo '홍길동';
감사합니다. 좋은 하루 되십시오~^^)
답변 8
이왕 체크하는거 값이 존재하는지 여부를 먼저 확인해야 오류가 안날겁니다.
isset을 이용해서 변수가 존재하고 문자열인지 판단해서 '홍길동' 또는 '' 로 값을 셋팅하는게
좀더 안정적인 방법입니다.
$str = (isset($list[$i]['wr_1']&&is_string($list[$i['wr_1'])):"홍길동":"";
echo $str;
잘은 모르지만 한번 해보세요
if($list[$i]['wr_1'] != 'number') {
echo '홍길동';
}
is_string() 함수를 사용하면됩니다.
http://php.net/manual/kr/function.is-string.php
if( is_string($list[$i]['wr_1']) == true )
echo '홍길동';
$test = 1234;
if( is_string($test) ) {
echo 'String';
} else {
echo 'String 아님';
}
이렇게 사용이됩니다
true는 if 에서 존재하는 것으로 인식합니다.
if(is_string($list[$i]['wr_1'])
echo '홍길동';
is_string 도 좋은데.. 숫자값으로만 된거는 무시해야하는 경우도 있다면 is_numeric() 이랑 empty() 로 체크 하면 좋겠네요.
빈공백이 아니고, 숫자가 아니면 문자겠죠?
if (!empty($list[$i]['wr_1']))
{
if(!is_numberic($list[$i]['wr_1']))
{
echo "홍길동";
}
}
if(!empty($list[$i]['wr_1']) && !is_numeric($list[$i]['wr_1']))
echo "홍길동";
strtotime($list[$i]['wr_1']) 부분에서 날짜를 나타내지 않는 문자열이면 반환값이 false 입니다
문자열이 아닐 때 조건 if(strtotime($list[$i]['wr_1'] ) - G5_SERVER_TIME < (86400 * 1)) 는
if(false - G5_SERVER_TIME < (86400 * 1)) 이므로 항상 참입니다.
많은 분께 감사드립니다.
데이터 양이 양이 많지 않으므로 그냥 수작업(?)으로 하여야 할 것 같습니다.
좋은 저녁 되시고 복 많이 벋으십시오~^^)