Coldach中的Foreach()array.each()...数组和结构的向后?给出了什么?

时间:2017-01-13 16:36:42

标签: arrays struct coldfusion

在php中,无论是数组还是结构(关联数组),您只需执行此操作:

foreach ($ra as $key=>$value){}

对于数组,您获得1=>first value, 2=>second value, etc。对于“结构”,您获得firstkey=>first value, secondkey=>second value, etc

在ColdFusion中:

ra = {'key1'='val1','key2'='val2'};    
ra.each(function(value, key) {
    writeOutput("#key# => #value#<br />");
});

ra = ['one','two'];    
ra.each(function(value, key) {
    writeOutput("#key# => #value#<br />");
});

你得到:

val1 => key1
val2 => key2    
1 => one
2 => two

我得到的值(val1)我期待的是键(key1) 那么,我做错了什么?我向后设置我的结构吗?对于数组/结构,coldfusion只是each()相反吗?

通过@Leigh回答:是的,他们回来了。以下是如何处理:

if(isStruct(ra)){
    ra.each(function(key, value) {
        writeOutput("#key# => #value#<br />");
    });     
}else{//aray
    arrayeach(ra, function(value, key) {
        writeOutput("#key# => #value#<br />");
    });     
}

1 个答案:

答案 0 :(得分:0)

回调函数可以方便地相互后退。以下是如何处理它:

if(isStruct(ra)){
    ra.each(function(key, value) {
        writeOutput("#key# => #value#<br />");
    });     
}else{//aray
    arrayeach(ra, function(value, key) {
        writeOutput("#key# => #value#<br />");
    });     
}