中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

VBScript版的PHP extract()函數(shù)
來(lái)源:易賢網(wǎng) 閱讀:1440 次 日期:2014-08-12 11:50:26
溫馨提示:易賢網(wǎng)小編為您整理了“VBScript版的PHP extract()函數(shù)”,方便廣大網(wǎng)友查閱!

寫(xiě)過(guò)PHP的都知道,其有個(gè)extract()非常方便,可以便捷的將字典轉(zhuǎn)換為變量,當(dāng)然到ASP中則要受限很多,特別是VBScript腳本,本文敘述的就是一種轉(zhuǎn)換的思路,可以實(shí)現(xiàn)類(lèi)似的功能。

下面我就直接提供ASP版本的extract代碼吧:

代碼如下:

'

' ASP/VBScript Dictionary extract

' Author: WangYe

' For more information please visit

'    

' This code is distributed under the BSD license

'

' collection 集合或者字典,可以通過(guò)For Each訪問(wèn)的

'            Request.Form 或者 Request.QueryString

' specified  指定必須存在的屬性,假如該屬性不存在,將自動(dòng)創(chuàng)建一個(gè)

' prefix     每個(gè)屬性的前綴修飾

' callback   對(duì)于集合或者字典的每個(gè)元素(key-value)的值進(jìn)行函數(shù)調(diào)用

'            函數(shù)原型:

'            Function filter(key, value)

'                filter = value

'            End If

'            最終值將以該函數(shù)返回的值為準(zhǔn)

'

Function extract(collection, ByVal specified, prefix, callback)

    Dim VarName, VarValue, DynObj, searchKey

    specified = "," & Replace(specified, " ", "") & ","

    Set DynObj = New DynamicObject

    For Each key In collection

        searchKey = "," & key & ","

        If InStr(1, specified, searchKey, 1)>0 Then

            specified = Replace(specified, searchKey, "")

            If Left(specified, 1) <> "," Then

                specified = "," & specified

            End If

            If Right(specified, 1) <> "," Then

                specified = specified & ","

            End If

        End If

        VarName = prefix & key

        VarValue = collection(key)

        If callback<>"" Then

            VarValue = GetRef(callback)(key, VarValue)

        End If

        DynObj.add VarName, VarValue, PROPERTY_ACCESS_READONLY

 Next

    specified_array = Split(specified, ",")

    Dim i

    For i = LBound(specified_array) To UBound(specified_array)

        If specified_array(i)<>"" Then

            DynObj.add prefix & specified_array(i), "", _

  PROPERTY_ACCESS_READONLY

        End If

    Next

    Set extract = DynObj.GetObject()

End Function

再介紹下使用方法:

代碼如下:

Dim query

Set query = extract(Request.QueryString, "name,id", "", "")

    Response.Write query.name

    Response.Write query.id

Set query = Nothing

訪問(wèn)包含上述代碼的ASP頁(yè)面,在QueryString(就是URL問(wèn)號(hào)后面的)包含name=wangye你將看到頁(yè)面輸出”wangye”,包含id=12的時(shí)候,將輸出”12″,當(dāng)然你也可以同時(shí)指定兩項(xiàng)。

你可能發(fā)現(xiàn)當(dāng)你Response.Write輸出name和id之外key的時(shí)候,程序報(bào)錯(cuò)了,因?yàn)橹付ǖ膶傩圆淮嬖冢?dāng)你在查詢(xún)字符串包含這個(gè)key的時(shí)候,程序又正常了,因?yàn)橛辛诉@個(gè)key就自動(dòng)建立了屬性,所以又可以直接Response.Write了,如何避免呢?

1. 通過(guò)extract()函數(shù)的specified參數(shù),該參數(shù)是個(gè)以逗號(hào)隔開(kāi)key的字符串,你可以看到剛才示例代碼中運(yùn)用了這個(gè)特性,如果查詢(xún)字符串未包含相應(yīng)的key,但是你又使用了這個(gè)key,只要specified列表中有,就會(huì)自動(dòng)建立值為空的屬性,所以就不會(huì)報(bào)錯(cuò)啦。

2. 通過(guò)返回對(duì)象的hasattr_方法進(jìn)行使用前判斷,這個(gè)方法可以判斷extract()函數(shù)返回的對(duì)象是否存在相應(yīng)的屬性,比如代碼有:

代碼如下:

Dim query

Set query = extract(Request.QueryString, "name,id", "", "")

If query.hasattr_("job") Then

    Response.Write "Job : " & query.job

End If

Set query = Nothing

這里job并不在我們的specified列表中,但是不帶查詢(xún)字串的直接訪問(wèn)程序沒(méi)有報(bào)錯(cuò),因?yàn)槲覀兺ㄟ^(guò)hasattr_在使用前進(jìn)行判斷是否存在此屬性。

3. 通過(guò)返回對(duì)象的getattr_方法進(jìn)行安全訪問(wèn),這個(gè)方法會(huì)在使用前判斷指定的屬性是否存在,如果不存在則用默認(rèn)值替代,詳細(xì)參考DynamicObject說(shuō)明,比如代碼:

代碼如下:

Dim query

Set query = extract(Request.QueryString, "name,id", "", "")

    Response.Write "Job : " & query.getattr_("job", "No Job")

Set query = Nothing

最后再介紹下filter的使用,extract()函數(shù)的filter參數(shù),指定的是另外一個(gè)函數(shù)名字符串,然后extract()將對(duì)每個(gè)值調(diào)用該函數(shù)進(jìn)行處理,比如過(guò)去有這樣的代碼:

代碼如下:

Dim name, job, id

name = Trim(Request.QueryString("name"))

job = Trim(Request.QueryString("job"))

id = CLng(Trim(Request.QueryString("id")))

可以看到,我們每一次都調(diào)用了Trim()函數(shù),重復(fù)的寫(xiě)多次很麻煩,而且以后如果要改變相應(yīng)功能還要一個(gè)一個(gè)替換,通過(guò)filter參數(shù)我們可以這樣寫(xiě):

'

' Function filter(key, value)

'   filter = Trim(value)

' End Function

'

Function filter(key, value)

    On Error Resume Next

    Select Case key

        Case "id" ' 判斷ID是否是數(shù)字

            If Not IsNumeric(value) Then

                Exit Function

            End If

            If CLng(value)<1 Then

                Exit Function

            End If

    End Select

    ' 最后記得讓函數(shù)返回值,該值在extract將被置為該返回值

    filter = Trim(value)

    If Err.Number<>0 Then

        filter = ""

    End If

End Function

Dim query

Set query = extract(Request.QueryString, "name,id,job", "", "filter")

    Response.Write query.name

    Response.Write query.job

    Response.Write query.id

Set query = Nothing

剛才我們是以Request.QueryString為例子的,當(dāng)然你也可以使用Request.Form來(lái)實(shí)現(xiàn)表單處理的更多功能,希望這篇文章能夠給你編寫(xiě)ASP帶來(lái)方便:-)

更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄

更多信息請(qǐng)查看腳本欄目
易賢網(wǎng)手機(jī)網(wǎng)站地址:VBScript版的PHP extract()函數(shù)
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢(xún)回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢(xún)?yōu)闇?zhǔn)!

2026上岸·考公考編培訓(xùn)報(bào)班

  • 報(bào)班類(lèi)型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢(xún) | 簡(jiǎn)要咨詢(xún)須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專(zhuān)用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢(xún)關(guān)注公眾號(hào):hfpxwx
咨詢(xún)QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專(zhuān)用圖標(biāo)
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
亚洲欧美日韩人成在线播放| 欧美成人午夜激情在线| 国产日韩精品一区二区三区在线 | 亚洲国产成人在线播放| 一区二区欧美日韩视频| 久久er99精品| 欧美色视频一区| 亚洲激情校园春色| 久久九九全国免费精品观看| 欧美日韩亚洲综合| 亚洲人成亚洲人成在线观看图片| 亚洲综合色丁香婷婷六月图片| 免费日韩精品中文字幕视频在线| 国产精品色午夜在线观看| 亚洲乱码一区二区| 免费在线观看一区二区| 国内精品久久久久久久97牛牛| 亚洲欧美国产高清| 欧美日韩国产bt| 日韩一级精品| 欧美日韩成人综合在线一区二区| 精品成人一区二区三区| 久久成人免费电影| 国产亚洲在线| 久久国产一区二区| 国产人久久人人人人爽| 在线视频亚洲一区| 国产精品盗摄久久久| 一区二区三区四区五区在线| 欧美日韩一区二区三| 一个人看的www久久| 欧美理论片在线观看| av成人免费在线| 欧美日韩在线三级| 亚洲一区二区视频在线观看| 国产精品亚洲综合| 久久国产精品久久国产精品| 国产婷婷成人久久av免费高清 | 亚洲日本视频| 欧美精品一区二| 99国产精品99久久久久久| 欧美日韩精品免费观看视频| 亚洲精品乱码久久久久| 欧美日韩国产123区| 亚洲一区视频| 国产亚洲电影| 久久―日本道色综合久久| 亚洲国产精品电影在线观看| 欧美激情一区二区三区蜜桃视频| 亚洲日本中文字幕| 欧美日韩直播| 先锋影音网一区二区| 一区在线电影| 欧美日韩一区二区三区四区五区| 中文在线资源观看网站视频免费不卡| 国产精品免费看| 久久综合激情| 亚洲午夜久久久久久久久电影院| 国产视频在线观看一区二区| 欧美jizzhd精品欧美巨大免费| 一区二区三区偷拍| 狠狠88综合久久久久综合网| 欧美美女操人视频| 久久精品论坛| 亚洲一区国产| 亚洲国产日韩一级| 欧美日韩亚洲网| 久久久久国产精品www| 99精品视频免费观看| 激情综合中文娱乐网| 欧美视频一区二区在线观看| 久久在精品线影院精品国产| 中国成人亚色综合网站| 在线观看亚洲| 国产亚洲人成网站在线观看| 欧美日韩国产欧| 欧美大片在线观看一区| 欧美一区二视频| 国产精品99久久久久久www| 91久久在线观看| 黄色一区二区在线| 国产精品欧美风情| 欧美区日韩区| 欧美成人精品三级在线观看 | 国产自产2019最新不卡| 欧美精品一区二区视频| 久久久国产精品一区| 午夜精品一区二区三区在线视 | 国产精品亚发布| 能在线观看的日韩av| 欧美在线日韩精品| 亚洲欧美日韩视频一区| 亚洲午夜精品福利| 99re6热只有精品免费观看| 亚洲欧洲一区二区在线播放| 亚洲高清免费在线| 亚洲高清三级视频| 91久久精品国产91久久| 136国产福利精品导航| 国产精品系列在线| 在线电影院国产精品| 国产精品久久久久久久午夜 | 亚洲天堂网在线观看| 99视频一区二区三区| 99re66热这里只有精品3直播| 亚洲日韩中文字幕在线播放| 亚洲日本中文字幕区| 亚洲综合导航| 午夜精品久久久久久久蜜桃app| 亚洲专区一区| 午夜日本精品| 久久久综合网| 欧美大片在线观看| 欧美三级乱码| 国产日韩欧美不卡在线| 国产精品一区二区黑丝| 国产一区二区三区日韩| 国内在线观看一区二区三区| 加勒比av一区二区| 亚洲国产免费看| 亚洲天堂av图片| 久久成人国产| 欧美精品粉嫩高潮一区二区 | 国产伦精品一区二区三区视频孕妇 | 国产精品爽黄69| 国产一区二区三区精品久久久| 国产精品私房写真福利视频| 国产午夜精品久久久| 亚洲国产精品高清久久久| av成人动漫| 久久九九全国免费精品观看| 免费看精品久久片| 欧美午夜免费电影| 国内精品一区二区三区| 91久久夜色精品国产九色| 午夜精品久久| 欧美激情二区三区| 国产嫩草一区二区三区在线观看| 国内视频一区| 久久裸体视频| 国产精品久久久久9999吃药| 在线视频欧美精品| 国产在线观看精品一区二区三区| 免费不卡欧美自拍视频| 国产亚洲成av人在线观看导航| 中文欧美字幕免费| 久久亚洲欧美国产精品乐播| 国外精品视频| 欧美成人资源| 99视频热这里只有精品免费| 欧美日韩高清在线一区| 一区二区三区久久网| 国产精品永久免费| 久久久久成人网| 午夜欧美精品久久久久久久| 亚洲国产精品久久久久秋霞蜜臀 | 一区二区三区精品久久久| 欧美激情乱人伦| 欧美精品久久天天躁| 欧美专区在线| 免费成人激情视频| 国产日韩一区二区三区在线播放| 亚洲欧美www| 影音先锋久久| 国产精品久久久久久av下载红粉| 久久国产加勒比精品无码| 美女黄毛**国产精品啪啪| 在线观看日韩av电影| 一区二区三区**美女毛片| 久久精品国产综合精品| 欧美日韩中文字幕综合视频| 在线播放亚洲一区| 久久免费视频一区| 韩日精品视频| 久久久精品网| 精品成人一区二区| 老司机午夜精品| 亚洲第一免费播放区| 久久资源av| 亚洲黄色在线看| 欧美激情国产高清| 日韩视频一区| 欧美日韩无遮挡| 亚洲香蕉在线观看| 国产美女在线精品免费观看| 久久国产精品99精品国产| 国产一区激情| 久久亚洲影音av资源网| 亚洲国产日韩欧美在线99| 欧美极品影院| 亚洲一区二区三区四区五区午夜 | 国产精品拍天天在线| 亚洲欧美中文在线视频| 国产日本欧美在线观看| 久久精品亚洲精品国产欧美kt∨| 国产综合久久| 欧美激情成人在线视频| 亚洲一区二区三区精品视频| 国产日韩精品视频一区| 蜜月aⅴ免费一区二区三区 |