PHP 의 print_r 기능 ASP 에서 구현
Server Side/ASP2016. 11. 5. 03:05
<%
Sub print_r(var)
Dim myPrint
Set myPrint = New clsPrint
myPrint.print var, 0
End Sub
Class clsPrint
Public Sub print(var, nIndent)
Dim nType, sTypeName
'Response.Write TypeName(var)
nType = VarType(var)
Select Case nType
Case 0:
Response.Write "(vbEmpty)"
Case 1:
Response.Write "(vbNull)"
Case 2:
Response.Write var & "(vbIngerger)"
Case 3:
Response.Write var & "(vbLong)"
Case 4,5:
Response.Write var & "(vbSingle)"
Case 6:
Response.Write var & "(vbCurrency)"
Case 7:
Response.Write var & "(vbDate)"
Case 8:
Response.Write var & "(vbString)"
Case 9:'vbObject
sTypeName = TypeName(var)
Select Case sTypeName
Case "ISessionObject": 'Session
print_session var, nIndent
Case "IRequest": 'Request
print_request var, nIndent
Case "IApplicationObject": 'Application
print_application var, nIndent
Case Else
Response.Write "Unimpleneted TypeName:" & sTypeName
End Select
Case 10:
Response.Write "(vbError)"
Case 11:
Response.Write var & "(vbBoolean)"
Case 12:
Response.Write "(vbDataObject)"
Case 13:
Response.Write "(vbDecimal)"
Case 14:
Response.Write "(vbByte)"
Case 8192,8204:
print_array var, nIndent + 1
Case Else:
Response.Write "VarType:" & nType
End Select
Response.Write vbCrLf
End Sub
Sub print_array(var, nIndent)
print_list "Array", var, nIndent
End Sub
Sub print_request(var, nIndent)
print_name "Request", nIndent
print_openbrace nIndent
print_dict "Request.Form", var.Form, nIndent + 1
print_dict "Request.QueryString", var.QueryString, nIndent + 1
print_dict "Request.Cookies", var.Cookies, nIndent + 1
print_dict "Request.ServerVariables", var.ServerVariables, nIndent + 1
print_closebrace nIndent
End Sub
Sub print_application(var, nIndent)
print_name "Application", nIndent
print_openbrace nIndent
print_dict "Application.StaticObjects", var.StaticObjects, nIndent + 1
print_dict "Application.Contents", var.Contents, nIndent + 1
print_closebrace nIndent
End Sub
Sub print_session(var, nIndent)
print_name "Session", nIndent
print_openbrace nIndent
print_dict "Session.StaticObjects", var.StaticObjects, nIndent + 1
print_dict "Session.Contents", var.Contents, nIndent + 1
print_closebrace nIndent
End Sub
Sub print_dict(sTypeName, var, nIndent)
Dim sKey
print_name sTypeName, nIndent
print_openbrace nIndent
For Each sKey In var
print_key sKey, nIndent + 1
print var(sKey), nIndent + 1
Next
print_closebrace nIndent
End Sub
Sub print_list(sTypeName, var, nIndent)
Dim vValue, nIndex
Response.Write sTypeName & vbCrLf
print_openbrace nIndent
nIndex = 0
For Each vValue In var
print_key nIndex, nIndent + 1
print vValue, nIndent + 1
nIndex = nIndex + 1
Next
print_closebrace nIndent
End Sub
Private Sub print_name(sName, nIndent)
print_indent nIndent
Response.Write sName & vbCrLf
End Sub
Private Sub print_key(sKey, nIndent)
print_indent nIndent
Response.Write "[" & sKey & "] => "
End Sub
Private Sub print_openbrace(nIndent)
print_indent nIndent
Response.Write "(" & vbCrLf
End Sub
Private Sub print_closebrace(nIndent)
print_indent nIndent
Response.Write ")" & vbCrLf
End Sub
Private Sub print_indent(nIndent)
Response.Write String(nIndent * 4, " ")
End Sub
End Class
a = "123"
b = Split("1 2 3 4 5", " ")
print_r a
print_r b
print_r Session
'print_r Application
'print_r Request
%>
브라우저 실행 ->
123(vbString) Array ( [0] => 1(vbString) [1] => 2(vbString) [2] => 3(vbString) [3] => 4(vbString) [4] => 5(vbString) ) Session ( Session.StaticObjects ( ) Session.Contents ( ) )
=========================================================
한두개만 찍어보고자 할경우
Request("num") : <%=Request("num")%><br>
Request.QueryString("num") : <%=Request.QueryString("num")%><br>
Request.Form("num") : <%=Request.Form("num")%><br><br>
넘어온데이타 전체 찍어보기
<%
Response.Write ("QueryString으로 넘어온값<br>")
For Each item in Request.QueryString
For index_i = 1 To Request.QueryString(item).Count
Response.Write (item & " : " & Request.QueryString(item)(index_i) & "<br>")
Next
Next
Response.Write ("Post로 넘어온값<br>")
For Each item in Request.Form
For index_i = 1 To Request.Form(item).Count
Response.Write (item & " : " & Request.Form(item)(index_i) & "<br>")
Next
Next
%>
참고 URL -
http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_other&wr_id=112603
http://river.ecplaza.net/wp/archives/1001
'Server Side > ASP' 카테고리의 다른 글
ASP <-> JSON 파서 (0) | 2016.12.11 |
---|---|
ASP string 처리 (0) | 2016.12.02 |
ASP <-> PHP 상호 관련 레퍼런스 (0) | 2016.11.05 |
ASP 연산자 종류 (기본 연산자) (0) | 2016.11.05 |
ASP+MSSQL 쿼리문 (0) | 2016.10.27 |