在一些教程上,我看到PHP数组与ColdFusion数组完全不同,并且PHP没有结构.我需要知道ColdFusion中可能的以下PHP代码的哪一部分:
public $colors = array(
array(27,78,181), // blue
array(22,163,35), // green
array(214,36,7), // red
);
public $fonts = array(
'Antykwa' => array('spacing' => -3, 'minSize' => 27, 'maxSize' => 30, 'font' => 'AntykwaBold.ttf'),
'Candice' => array('spacing' =>-1.5,'minSize' => 28, 'maxSize' => 31, 'font' => 'Candice.ttf'),
'DingDong' => array('spacing' => -2, 'minSize' => 24, 'maxSize' => 30, 'font' => 'Ding-DongDaddyO.ttf'),
'Duality' => array('spacing' => -2, 'minSize' => 30, 'maxSize' => 38, 'font' => 'Duality.ttf'),
'Heineken' => array('spacing' => -2, 'minSize' => 24, 'maxSize' => 34, 'font' => 'Heineken.ttf'),
'Jura' => array('spacing' => -2, 'minSize' => 28, 'maxSize' => 32, 'font' => 'Jura.ttf'),
'StayPuft' => array('spacing' =>-1.5,'minSize' => 28, 'maxSize' => 32, 'font' => 'StayPuft.ttf'),
'Times' => array('spacing' => -2, 'minSize' => 28, 'maxSize' => 34, 'font' => 'TimesNewRomanBold.ttf'),
'VeraSans' => array('spacing' => -1, 'minSize' => 20, 'maxSize' => 28, 'font' => 'VeraSansBold.ttf'),
);
Run Code Online (Sandbox Code Playgroud)
PHP的另一部分是foreach循环:
foreach($list as key=>$value) {
}
Run Code Online (Sandbox Code Playgroud)
我认为这可以作为一个结构循环来完成,但我不确定.
第一个例子类似于CFML数组,例如:
colors = [
[27,78,181], // blue
[22,163,35], // green
[214,36,7] // red
];
Run Code Online (Sandbox Code Playgroud)
虽然PHP确实没有称为"struct"的东西,但它有一个关联数组,对于所有意图和目的来说都是一样的.你的后一个例子就是其中之一.CFML等同(缩写)将是:
fonts = {
'Antykwa' = {'spacing' = -3, 'minSize' = 27, 'maxSize' = 30, 'font' = 'AntykwaBold.ttf'}
}
Run Code Online (Sandbox Code Playgroud)
注意:您不需要引用CFML中的键名称,但是如果不这样做,ColdFusion会将它们全部转换为大写(我不认为Railo会这样做,并且CF11中有一个设置可以阻止这种情况发生) .请注意,在CF中,不保留结构中键的顺序; 它可以在Railo中,如果使用链接结构(我会留给你查看)
您可以使用几种方法在CFML中循环遍历数组和结构:
for (element in array){
}
for (key in struct){
value = struct[key];
}
Run Code Online (Sandbox Code Playgroud)
也可以使用迭代函数:
array.each(function(index, value, array){
});
struct.each(function(key, value, struct){
});
Run Code Online (Sandbox Code Playgroud)
还有其他的迭代方法,如filter(),map()等.Railo 4.2和COldFusion 11都有新功能.每个版本都有无头功能each(),例如:arrayEach(array, callback)和structEach(struct, callback)
一切都在文档中.
| 归档时间: |
|
| 查看次数: |
215 次 |
| 最近记录: |