CFML 使用 StructFindValue() 查找和替换结构内的字符串值
CFML using StructFindValue() to find and replace string values inside of a structure
问题:如何使用StructValueFind()
returns的path
值给键[=10赋新值=] 指向?
我希望在结构中的所有值中搜索特定字符串,然后用不同的值替换该字符串。
我能够使用 StructFindValue()
找到所有出现的字符串,其中 returns 具有键 key
、owner
的结构数组, 和 path
。我假设 path
允许我设置一个新的 value/replace 找到的字符串。
根据 Adobe's CFML 9 documentation for StructFindValue()
,path
值为...
Path: string which could be used to reach the found key
但是我在任何地方都找不到如何使用 path
的值来找到找到的键,并专门为该键分配一个新值。
你不需要弄乱路径:structFindValue()
returns 的结果已经直接引用了有问题的子结构(在 owner
键中) .
所以这种事情应该可以解决问题:
<cfscript>
st = {
top={
middle1={lower1="value1",lower2="value2"},
middle2={lower3="value3",lower4="value4"}
}
};
writeDump(st);
value = structFindValue(st, "value3");
writeDump(value);
value[1].owner[value[1].key] = "new value";
writeDump(st);
</cfscript>
问题:如何使用StructValueFind()
returns的path
值给键[=10赋新值=] 指向?
我希望在结构中的所有值中搜索特定字符串,然后用不同的值替换该字符串。
我能够使用 StructFindValue()
找到所有出现的字符串,其中 returns 具有键 key
、owner
的结构数组, 和 path
。我假设 path
允许我设置一个新的 value/replace 找到的字符串。
根据 Adobe's CFML 9 documentation for StructFindValue()
,path
值为...
Path: string which could be used to reach the found key
但是我在任何地方都找不到如何使用 path
的值来找到找到的键,并专门为该键分配一个新值。
你不需要弄乱路径:structFindValue()
returns 的结果已经直接引用了有问题的子结构(在 owner
键中) .
所以这种事情应该可以解决问题:
<cfscript>
st = {
top={
middle1={lower1="value1",lower2="value2"},
middle2={lower3="value3",lower4="value4"}
}
};
writeDump(st);
value = structFindValue(st, "value3");
writeDump(value);
value[1].owner[value[1].key] = "new value";
writeDump(st);
</cfscript>