foreach:“in”v。“as”

时间:2009-08-14 01:15:40

标签: php foreach

foreach的这两种用法有什么区别?

foreach ($nodes as $node) {
 //do stuff
}

foreach ($odp in $ftw) {
  //do more stuff
}

2 个答案:

答案 0 :(得分:13)

第一个是合法的PHP,第二个是is not

答案 1 :(得分:7)

在PHP中使用in不起作用。然而,在Javascript中,类似的形式是可以接受的,因此它们不同:

var obj = {
    'a' : 'Apple',
    'b' : 'Banana',
    'c' : 'Carrot'
};

for (var i in obj) {
    alert(i); // "a", "b", "c"
}

for each (var i in obj) {
    alert(i); // "Apple", "Banana", "Carrot"
}

基本上,for each ... in ...(Javascript)或foreach ... as ...(PHP)将给出对象属性的值,而for ... in ...(javascript)将为您提供每个属性的名称