Coldfusion动态变量命名

时间:2013-05-24 03:33:07

标签: coldfusion

使用coldfusion可以转换这个php代码吗?

if ( $_GET[ 'bSortable_'.intval($_GET['iSortCol_'.$i]) ] == "true" ){

    //do something...

}

我尝试了以下内容:

if( structKeyExists( url , "bSortable_[iSortCol_[#i#]]" ) ) {

}

但似乎没有用......可能我应该尝试另一种方法来制作它?

变量是两个:

bSortable_1 = true;
iSortCol_1 = 1; 

我应该获得bSortable_1值....

2 个答案:

答案 0 :(得分:1)

我对PHP不是很熟悉,但似乎你正在传递bSortable_1,iSortCol_1类查询变量来对表进行排序。我想以下代码应该对你有用。

<cfset url.bSortable_1 = 1>
<cfset url.iSortCol_1 = 1>
<!--- Option 1 --->
<cfif structKeyExists(URL,"bSortable_#URL.iSortCol_1#")>
    <cfoutput>Exists</cfoutput>
</cfif>

<!--- Option 2 --->
<cfset i = 1>
<cfif URL['bSortable_#URL['iSortCol_#i#']#']>
    <cfoutput>Exists</cfoutput>
</cfif>

虽然我发现这太复杂了。我会建议选择一些更好的选择。

答案 1 :(得分:1)

这是评论中要求的解释。至少有两个可用的url变量,bSortable_1和iSortCol_1。 php代码和Pritesh的答案都有这种结构。

<cfif somethingabout_bSortable_1.somethingabout_iSortCol_1>
do something

通过分别处理变量,我的结构将类似于:

<cfif somethingabout_bSortable_1 and (or or) somethingabout_iSortCol_1>
do something

转到StructkeyExists函数,但是使用静态值,就是这个

<cfif StructKeyExists(url, "bSortable_1") and StructKeyExists(url, "iSortCol_1")>
do something

对于动态值,我不知道什么会起作用所以我必须找出来。话虽如此,我要尝试的第一件事是:

<cfloop from = "1" to = SomeMaximum index = "i">
<cfif StructKeyExists(url, "bSortable_#i#") and StructKeyExists(url, "iSortCol_#i#")>
do something
closing tags